Tengo una lista de objetos poblados de una base de datos. Necesito mostrar un mensaje de error si la lista está vacía y mostrar una vista de cuadrícula de lo contrario.
¿Cómo verifico si a List<T>está vacío en C #?
c#
list
gridview
isnullorempty
lakshganga
fuente
fuente

if (list.Count == 0) { /* ... */ }?if (!list.Any())C# list isemptypara el que está completamente en el punto. Creo que las partes irrelevantes de la pregunta deberían eliminarse y votaré para reabrir.Respuestas:
Por qué no...
También
GridViewtiene unEmptyDataTemplateque se muestra si la fuente de datos está vacía. Este es un enfoque en ASP.NET:fuente
list == nullprimero?Si la implementación de la lista que está usando es
IEnumerable<T>y Linq es una opción, puede usarAny:De lo contrario, generalmente tiene una propiedad
LengthoCounten matrices y tipos de colección, respectivamente.fuente
.Counto.Length,List¿qué podría.Any()hacer para ser más rápido que verificar la propiedad de la colección que realiza un seguimiento de la longitud o recuento actual? Si solo tiene un enumerador, entonces,.Any()por supuesto , es más rápido que.Count() > 0. Ver también: stackoverflow.com/questions/305092/… o stackoverflow.com/questions/5741617/…Anyverifica para validar que recuperar el recuento es barato antes de probarlo, en los casos en los que tenga unIListProvider<>que no rastrea el recuento, se enumerará una vez.Puede hacer que su cuadrícula de datos sea visible falsa y hacerla visible en la sección else.
fuente
O(1)operación y no se realizan iteraciones para contar elementos. VerList<T>.Count.Any()expresar mejor la intención, además de ser más eficaz cuando no sabes que tienes unaList<T>.¿Qué pasa con el uso de la
Countpropiedad?fuente
null. En su lugar, debería ser una colección vacía.Deberías usar una
IFdeclaración simplefuente
using 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"); } } }fuente
gridview en sí tiene un método que verifica si la fuente de datos a la que lo vincula está vacía, le permite mostrar algo más.
fuente
Si está usando una vista de cuadrícula, use la plantilla de datos vacía: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx
fuente