Saya memiliki daftar objek yang dihuni dari database. Saya perlu menampilkan pesan kesalahan jika daftar kosong dan menampilkan tampilan kisi sebaliknya.
Bagaimana cara memeriksa apakah a List<T>
kosong di C #?
c#
list
gridview
isnullorempty
lakshganga
sumber
sumber
if (list.Count == 0) { /* ... */ }
?if (!list.Any())
C# list isempty
yang benar-benar tepat. Saya pikir bagian yang tidak relevan dari pertanyaan harus diedit, dan saya memberikan suara untuk membuka kembali.Jawaban:
Kenapa tidak...
The
GridView
memiliki jugaEmptyDataTemplate
yang ditampilkan jika sumber data kosong. Ini adalah pendekatan di ASP.NET:sumber
list == null
terlebih dahulu?Jika implementasi daftar yang Anda gunakan adalah
IEnumerable<T>
dan LINQ adalah sebuah opsi, Anda dapat menggunakanAny
:Jika tidak, biasanya Anda memiliki
Length
atauCount
properti pada array dan tipe koleksi masing-masing.sumber
.Count
atau.Length
properti sepertiList
apa yang bisa.Any()
dilakukan untuk lebih cepat daripada memeriksa properti dari koleksi yang melacak panjang atau hitungan saat ini? Jika Anda hanya memiliki Enumerator,.Any()
tentu saja lebih cepat dari.Count() > 0
. Lihat juga: stackoverflow.com/questions/305092/… atau stackoverflow.com/questions/5741617/…Any
memeriksa untuk memvalidasi bahwa mengambil penghitungan itu murah sebelum mengujinya, dalam kasus di mana Anda memilikiIListProvider<>
yang tidak melacak penghitungan, itu akan menghitung sekali sebagai gantinya.Anda dapat membuat datagrid Anda terlihat salah dan membuatnya terlihat di bagian lain.
sumber
O(1)
operasi dan tidak ada iterasi yang dilakukan untuk menghitung elemen. LihatList<T>.Count
.Any()
mengungkapkan niat dengan lebih baik, serta lebih berkinerja ketika Anda tidak tahu bahwa Anda memiliki yang sebenarnyaList<T>
.Bagaimana dengan menggunakan
Count
properti.sumber
null
. Ini harus menjadi koleksi kosong sebagai gantinya.Anda harus menggunakan
IF
pernyataan sederhanasumber
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"); } } }
sumber
gridview sendiri memiliki metode yang memeriksa apakah sumber data yang Anda ikat kosong, memungkinkan Anda menampilkan sesuatu yang lain.
sumber
Jika Anda menggunakan gridview, gunakan template data kosong: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx
sumber