我有一个通用列表对象。我需要检查列表是否为空。
如何List<T>
在 C# 中检查 a 是否为空?
您可以使用Enumerable.Any
:
bool isEmpty = !list.Any();
if(isEmpty)
{
// ...
}
如果列表可能是null
您可以使用:
bool isNullOrEmpty = list?.Any() != true;
如果您使用的列表实现是IEnumerable<T>
并且 Linq 是一个选项,您可以使用Any
:
if (!list.Any()) {
}
否则,您通常分别在数组和集合类型上有一个Length
or属性。Count
If (list.Count==0){
//you can show your error messages here
} else {
//here comes your datagridview databind
}
您可以使您的数据网格可见 false 并使其在 else 部分可见。
怎么用Count
物业。
if(listOfObjects.Count != 0)
{
ShowGrid();
HideError();
}
else
{
HideGrid();
ShowError();
}
你应该使用一个简单的IF
语句
List<String> data = GetData();
if (data.Count == 0)
throw new Exception("Data Empty!");
PopulateGrid();
ShowGrid();
var dataSource = lst!=null && lst.Any() ? lst : null;
// bind dataSource to gird source
gridview 本身有一个方法可以检查您绑定到的数据源是否为空,它可以让您显示其他内容。
如果您使用的是 gridview,请使用空数据模板:http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="true"
runat="server">
<emptydatarowstyle backcolor="LightBlue"
forecolor="Red"/>
<emptydatatemplate>
<asp:image id="NoDataImage"
imageurl="~/images/Image.jpg"
alternatetext="No Image"
runat="server"/>
No Data Found.
</emptydatatemplate>
</asp:gridview>