0
votes

Comment vérifier si l'élément / élément iquéry contient une propriété en C #?

J'ai un iquéryable code> comme suit

TotalIssues = issues.ToList().Where(i => i.Type.Name == "Bug").Count();


3 commentaires

Note latérale: Tolist () est redondant ici, asen-témoine () sera suffisant


Essayez null propagartion : .where (item => article? élément ou item.type est null


Salut @dmitrybycychenko i gettez ne peut pas implicitement convertir le type 'bool? " à 'bool'. Une conversion explicite existe (manquez-vous un casting?) "Après avoir ajouté"? "


3 Réponses :


2
votes

Vous pouvez essayer null propagation ?. Pour avoir null pour Nom si tout Item ou item.type est null : xxx


0 commentaires

1
votes

Que voulez-vous dire? Certains problèmes n'ont pas de propriété de type? Ou le type de propriété de certains problèmes est NULL?

Si certains problèmes n'ont pas de propriété de type, je pense que vous pouvez spécifier la classe ou l'interface de problèmes. Ou vous pouvez utiliser la réflexion.

Si le type de propriété de certains problèmes est NULL, vous pouvez vérifier que le type n'est pas NULL d'abord. De votre commentaire, je pense que je peux être nul aussi. xxx


2 commentaires

J'ai essayé cela n'a pas fonctionné que je reçois une référence n'est pas défini sur une erreur d'instance


Il semble que, pas i.type est null, mais je suis null.



2
votes

Vous ne voulez pas de problèmes sans type. Vous pouvez garder le code simple en ne prenant pas de problèmes sans taper en compte.

var bugsCount = issues.AsEnumerable()
    .Where(issue => issue.Type != null)
    .Count(issue => issue.Type.Name == "Bug");


0 commentaires