gpt4 book ai didi

c# - 如何在 C# 中使用 LINQ 从 ListView 中删除项目

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:50 25 4
gpt4 key购买 nike

我有以下 ListView :

alt text

我正在创建一个 List<string>我想要从该 ListView 中删除的行列表的项目:

List<String> lst =new List<String>{"A1","A2"};

我知道我可以使用遍历索引删除行并使用 RemoveAt() 删除项目函数,但是有什么方法可以使用 LINQ 来做到这一点吗?

最佳答案

至于A1/A2是键,不需要 LINQ:

foeach(var a in new[] { "A1", "A2" })
lw.Items.RemoveByKey(a);

为什么不呢?


但是如果您想不惜任何代价使用 LINQ,请编写您自己的扩展方法:

public static void ForEach<T>(this IEnumerable<T> collection, Action<T> action)
{
foreach (var item in collection)
action(item);
}

并以这种方式使用它:

new[] { "A1", "A2" }.ForEach(a => lw.RemoveByKey(a));

但是请记住,这是一种众所周知但有争议的方法。

顺便说一下,List<T>已经有这样的扩展方法,但我的作品适用于任何 IEnumerable<T> :

new List<string> { "A1", "A2" }.ForEach(); // evokes List<T>.ForEach
new[] { "A1", "A2" }.ForEach(); // evokes my
new List<string> { "A1", "A2" }.AsEnumerable().ForEach(); // evokes my, I guess

关于c# - 如何在 C# 中使用 LINQ 从 ListView 中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com