Vérifiez si la liste est vide en C#
J'ai une liste d'objets remplis à partir d'une base de données. J'ai besoin d'afficher un message d'erreur si la liste est vide et l'affichage d'une grille de vue contraire.
Comment puis-je vérifier si un List<T>
est vide en C#?
- Quel est donc le problème avec l'aide de
if (list.Count == 0) { /* ... */ }
? - Ou
if (!list.Any())
- Merci ça a fonctionné!
- Peut-être vous trouvez également une réponse qui fonctionne depuis Stackoverflow est une question et une réponse du site. La prochaine fois, vous devez montrer ce que vous avez essayé. Qui permet de voir le cœur du problème.
- Ceci: stackoverflow.com/q/8582344/492
- Je ne comprends pas pourquoi cette question a été Downvoted. Pour moi, c'est très spécifique (LISTE D'OBJETS). Il n'y a rien de "pas clair" ici. Cette question a plus de 30k points de vue. +1
- La question prend tout son sens. "J'ai besoin d'afficher un message d'erreur si la liste est vide". Rappelez-vous dans la communication humaine, pas tous les caractères des questions.
- C'est également le n ° 1 de résultats sur Google pour
C# list isempty
pour laquelle il est complètement sur ce point. Je pense que la pertinence des parties de la question devrait être édité, et je vais voter pour la réouverture.
InformationsquelleAutor lakshganga | 2013-09-18
Vous devez vous connecter pour publier un commentaire.
Pourquoi pas...
La
GridView
a aussi unEmptyDataTemplate
qui est indiqué si la source de données est vide. C'est une approche en ASP.NET:list == null
en premier?Si la liste de mise en œuvre que vous utilisez est
IEnumerable<T>
et Linq est une option, vous pouvez utiliserAny
:Sinon, vous avez généralement un
Length
ouCount
de propriété sur les tableaux et les types de collection, respectivement..Count
ou.Length
propriété avecList
ce qui pourrait.Any()
peut-être faire pour être plus rapide que la vérification de la propriété de la collection qui garde la trace de la longueur actuelle ou compter? Si vous avez seulement un agent Recenseur, puis.Any()
est bien sûr plus rapide que.Count() > 0
. Voir aussi: stackoverflow.com/questions/305092/... ou stackoverflow.com/questions/5741617/...Vous pouvez faire votre grille de données visibles de faux et de le rendre visible sur le reste de la section.
Que sur l'utilisation de la méthode Count ().
null
. Il devrait être un regroupement vide à la place.null
des éléments à une liste est très bête.Vous devez utiliser un simple
IF
déclarationusing System; using System.Collections.Generic; public class Program { public static void Main() { List<string> stringList = null; if (stringList.Count == 0) { Console.WriteLine("no items in collection"); } } }
gridview lui-même a une méthode qui vérifie si la source de données vous sont obligatoires il est vide, il vous permet d'afficher quelque chose d'autre.
Si vous utilisez un gridview puis utilisez le vide du modèle de données: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx