使用C#从数组中删除空白值

本文关键字:删除 空白 数组 使用 | 更新日期: 2023-09-27 18:20:02

如何从数组中删除空白值?

例如:

string[] test={"1","","2","","3"};

在这种情况下,是否有任何方法可以使用C#从数组中删除空白值?

最后,我想得到一个这样格式的数组:

test={"1","2","3"};

这意味着从数组中删除2个值,最终得到3。

使用C#从数组中删除空白值

如果您使用的是.NET 3.5+,则可以使用LINQ(语言集成查询)。

test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();

如果使用.NET 3.5或更高版本,则可以使用Linq:

 test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();

如果你不能使用Linq,那么你可以这样做:

var temp = new List<string>();
foreach (var s in test)
{
    if (!string.IsNullOrEmpty(s))
        temp.Add(s);
}
test = temp.ToArray();

我写下面的代码来删除数组字符串中的空白值。

string[] test={"1","","2","","3"};
test= test.Except(new List<string> { string.Empty }).ToArray();

我更喜欢使用两个选项,空白和空:

test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();
test = test.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();

这可能很旧,但您可以尝试

string[] test = new[] { "1", "", "2", "", "3" };
test = string.Join(",", test).Split(new string[] { "," }, Stringsplitoptions.Removeemptyentries);

加入数组并在移除空项的情况下再次拆分。