📜  c# 从列表中删除项目值为空的所有项目 - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.430000             🧑  作者: Mango

C# 从列表中删除项目值为空的所有项目

在C#中,当我们使用列表(List)存储数据时,有时候某些项目的值可能为空。在这种情况下,我们可能需要将这些项目从列表中删除,以便我们的数据仅包含非空项目。

下面是一个简单的代码片段,它演示了如何使用C#从列表中删除项目值为空的所有项目:

// 创建一个字符串列表
List<string> myStrings = new List<string>();
myStrings.Add("foo");
myStrings.Add("");
myStrings.Add("bar");
myStrings.Add("");
myStrings.Add("baz");

// 删除所有值为空的项目
myStrings.RemoveAll(s => string.IsNullOrEmpty(s));

// 输出剩余项目
foreach (string s in myStrings)
{
    Console.WriteLine(s);
}

在上面的代码中,我们首先创建了一个字符串列表myStrings,其中包含5个项目,其中两个项目的值为空字符串。然后,我们使用RemoveAll方法从列表中删除所有值为空的项目。这个方法接受一个谓词(一个返回布尔值的函数),该谓词用于确定给定项目是否应该被删除。在上面的示例中,我们使用string.IsNullOrEmpty方法作为谓词,该方法返回true如果传递给它的字符串为空或null,则将项目从列表中删除。

最后,我们使用foreach循环遍历列表中剩余的非空项目,并将它们输出到控制台。

这里是上面代码的markdown格式的代码块,展示如何从列表中删除项目值为空的所有项目:

```csharp
// 创建一个字符串列表
List<string> myStrings = new List<string>();
myStrings.Add("foo");
myStrings.Add("");
myStrings.Add("bar");
myStrings.Add("");
myStrings.Add("baz");

// 删除所有值为空的项目
myStrings.RemoveAll(s => string.IsNullOrEmpty(s));

// 输出剩余项目
foreach (string s in myStrings)
{
    Console.WriteLine(s);
}
```

如上所述,这个示例简单易懂,演示了如何从列表中删除所有值为空的项目。