我有以下问题。
我的List<string>
with 信息可能会因所采取的操作而异,我需要删除与string
.
我在以下代码中尝试过List<T>
:
List<string> Strings = new List<string>() {
"658", "123", "321", "123"
};
foreach (string s in Strings) Console.WriteLine(s); // Imprime: 658, 123, 321, 123
Strings.Remove("123");
foreach (string s in Strings) Console.WriteLine(s); // Imprime: 658, 321, 123
我需要最后一个循环foreach
返回658, 321
。
我知道我可以遍历List
,但我需要了解为什么不删除所有匹配的元素。
问候。
您正在寻找的东西有几种选择,您可以使用
或帮助您使用 linq
使用 linq,您基本上可以通过删除您不想要的值来过滤
唯一删除第
Remove
一个元素,要删除所有匹配项,您有几个选项:使用
RemoveAll
(文档),特别是:值得注意的是,他
RemoveAll
更新了当前列表。另一个不错的选择是使用 Linq 来执行此操作(使用
Select
):也使用 Linq,但使用
where
(我更喜欢 del 选项Select
):我不是 C# 专家,但也许您应该使用RemoveAll方法而不是 Remove