Liste Comte vs Liste condition null, modifier les résultats

Je vais avoir un programme qui serait d'abord parcourir le Fichier de données, puis de les convertir au format JSON () les données d'un Objet. Objet dépend du format de Fichier que je suis en train d'accéder aux données. C'est à peu près sans rapport avec à la question que je vais poser.

Quand j'ai terminé le projet, et j'étais prêt à les envoyer à mes amis, j'ai trouvé qu'il y avait une chose que je ne comprends pas au sujet de la List<>s de C#.

Voici le code que j'utilise:

//File is not empty!
string file = File.ReadAllText(new MainWindow().getFileName("events"));
List<Event> events = JsonConvert.DeserializeObject<List<Event>>(file);

Après cela, je suis en train de remplir le ListView par chaque événement que je vais avoir, ou je suis en train de remplir un TextBlock avec un texte disant, il n'y a aucun cas de créer un maintenant.

Je suis en utilisant cette condition.

if(events != null) {
   //goes well
} else {
   //populate the code text view 
}

Dans ce code, le bloc else ne pas se déclencher. Si il y a des événements, il remplit la liste sinon ça ne saute le textView code de mise à jour.

Liste Comte vs Liste condition null, modifier les résultats

Mais, si j'utilise ce code au lieu de cela,

if(events.Count != 0) {
   //listview code..
} else { 
   //populate text view
}

À l'aide de cette manière, je peux remplir le textView et je vois le message d'erreur dans la Page.

Liste Comte vs Liste condition null, modifier les résultats

J'ai ajouté le code de l'image, et l'exemple pour que. J'espère que quelqu'un peut me dire la différence

(List.Count == 0) || (List == null) 
/* irrelevant piece of code, I'm trying to ask, should I use 
 * List Count == 0 OR List is equal to null */
  • tu veux dire que la différence de certains de la liste List<SomeType> list; entre les deux conditions list.Count == 0 et list == null, ou je me trompe? Parce que la question des états de la capitalisation des List dans des conditions tout à la fin, ce qui est un peu déroutant.