在 List 中,如何使用 Contains() 方法并检查值是否为空

本文关键字:方法 检查 是否 Contains string List 何使用 | 更新日期: 2023-09-27 18:18:36

我有一个List<string>和一些从网格视图中获取的保存值。我需要的是使用一些 if 语句来检查列表中的这些值之一是否为空。

一个简单的 for 循环,遍历网格视图中的所有行并从右列中获取值:

for (int i = 0; i < GridView2.Rows.Count; i++)
{
            string tasks = GridView2.Rows[i].Cells[3].Text;
            datesList.Add(tasks); 
 }

下面是一个非常简单的代码示例,我用来检查列表中是否包含 2:

if (datesList.Contains("2"))
{
    Label1.Text = "It contains it";
}
else
{
    Label1.Text = "No matches";    
} 

那么,列表是否保存了网格视图中的所有值,而不管有些值是空的?

如果我在某处错了,请纠正我,但现在真的很混乱......

在 List<string> 中,如何使用 Contains() 方法并检查值是否为空

使用 Any() 而不是这个。

datalist.Any(s => s.fieldname == "2")
if(datesList.Any(date => !String.IsNullOrEmpty(date)))
{
   //save
}

要收集集合/填充字段:

var setDates = datesList.Select(date => !String.IsNullOrEmpty(date));

所以你的项目列表应该包含所有值,即使它们是""所以如果你想要一个特定的项目,那么你可以做这样的事情

datalist.FirstOrDefault(i => i.FieldName == "//insert Data here");

如果您想要除带字符串的项目之外的所有项目。空,然后你可以做这样的事情

datalist.RemoveAll(i => i.FieldName != "");

如果您希望项目在一定范围内,请尝试这样的事情。

datalist.Select(i => i.FieldName.Contains("//insert criteria here"));