首页 > 解决方案 > 如何从字符串类型数组中删除整数?

问题描述

我有一个字符串类型的数组,其中包含数字和字符,例如 string[] TagsSeperatedArray={"tag1","tag2","1234",""} 我想从数组中删除 1234 和 "" 。我怎样才能做到这一点。有人可以帮帮我吗。我正在使用 asp.net c#。

foreach(var item in TagsSeperatedArray)
                {
                    if()
                    {

                    }

                }

标签: c#asp.netarrays

解决方案


一种方法是:

var arr = new[] { "tag1", "tag2", "1234", "" };
Console.WriteLine(string.Join(",", arr)); // tag1,tag2,1234,
var newArr = arr.Where(value => !string.IsNullOrWhiteSpace(value)
    && !int.TryParse(value, out _)).ToArray();
Console.WriteLine(string.Join(",", newArr)); // tag1,tag2

但是请注意,这会分配一个额外的数组等;使用列表会更有效,因为您可以直接删除:

var list = new List<string> { "tag1", "tag2", "1234", "" };
Console.WriteLine(string.Join(",", list)); // tag1,tag2,1234,
list.RemoveAll(value => string.IsNullOrWhiteSpace(value) || int.TryParse(value, out _));
Console.WriteLine(string.Join(",", list)); // tag1,tag2

推荐阅读