一行语句删除包含某个word/string的数组中的元素
Remove elements in an array containing a certain word/string in a single line of statement
我有一个数组:
List<String> TagArray = new List<string>(TagString.Split(','));
我想删除数组中的某些元素;说 - 如果值包含字母 'AAA'.
C#中是否有一行语句就可以达到我们想要的结果?
试试这个:
TagArray.RemoveAll(item => item.Contains("AAA"));
RemoveAll 将从您定义的谓词中删除所有 return 为真的项目。您可以多次执行此操作,也可以 ||一堆包含在一个 RemoveAll 中。
您可以在这里使用 LINQ。例如
List<String> TagArray = TagString.Split(',')
.Where(tag => tab.IndexOf("AAA") < 0)
.ToList();
记得添加 System.Linq
命名空间。
希望对您有所帮助!!
static void Main(string[] args)
{
string TagString = "WAAAA,APPLE";
List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();
}
1 行有效
List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();
List 中有一个可用的方法:RemoveAll(Predicate<T>)
var list = new List<string> {"AAABBBCCC", "AABBCC", "ABC", "CCAAACC"};
list.RemoveAll(s => s.Contains("AAA")); // Removes the first and the last element
RemoveAll()
"iterates" 遍历列表并为您提供每个元素。 s
表示列表中的一个元素,=>
之后的代码是一个条件。当条件为true
时,元素被移除。条件不必使用s
变量,它可以是returns bool
值的任意块。
所以你也可以这么写:
list.RemoveAll(s =>
{
return a == 5;
});
我有一个数组:
List<String> TagArray = new List<string>(TagString.Split(','));
我想删除数组中的某些元素;说 - 如果值包含字母 'AAA'.
C#中是否有一行语句就可以达到我们想要的结果?
试试这个:
TagArray.RemoveAll(item => item.Contains("AAA"));
RemoveAll 将从您定义的谓词中删除所有 return 为真的项目。您可以多次执行此操作,也可以 ||一堆包含在一个 RemoveAll 中。
您可以在这里使用 LINQ。例如
List<String> TagArray = TagString.Split(',')
.Where(tag => tab.IndexOf("AAA") < 0)
.ToList();
记得添加 System.Linq
命名空间。
希望对您有所帮助!!
static void Main(string[] args)
{
string TagString = "WAAAA,APPLE";
List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();
}
1 行有效
List<String> TagArray = new List<string>(TagString.ToUpper().Split(',')).Where(x => !x.Contains("AAA")).ToList();
List
var list = new List<string> {"AAABBBCCC", "AABBCC", "ABC", "CCAAACC"};
list.RemoveAll(s => s.Contains("AAA")); // Removes the first and the last element
RemoveAll()
"iterates" 遍历列表并为您提供每个元素。 s
表示列表中的一个元素,=>
之后的代码是一个条件。当条件为true
时,元素被移除。条件不必使用s
变量,它可以是returns bool
值的任意块。
所以你也可以这么写:
list.RemoveAll(s =>
{
return a == 5;
});