gpt4 book ai didi

c# - 如何从列表集合中删除对象?

转载 作者:太空狗 更新时间:2023-10-29 22:13:15 25 4
gpt4 key购买 nike

我不得不更改我的代码行。我以前有过这样的事情

// this is in a static method.
List<string> mySTring = new List<string>();

mySTring.add("one");
mySTring.add("two");

然而,在我的一个页面上,我有一个下拉列表,它不需要字段“two”,所以我没有写重复的代码,而是

myString.remove("two");

现在我需要将列表更改为 List<SelectListItem> myList = new List<SelectListItem>();

所以我现在看起来像这样:

  List<SelectListItem> myList = new List<SelectListItem>()
{
new SelectListItem() { Text = "one", Value = "one"},
new SelectListItem() { Text = "two", Value = "two"},
};

那么现在如何删除包含“二”的 selectListItem?我知道我可能可以使用按索引删除。但我将来可能会添加到列表中,所以我不想在索引发生变化时开始搜索和更改它。

谢谢

最佳答案

List<T>默认情况下,将比较对象引用(除非 SelectListItem 实现自定义相等方法)。因此,除非您仍然有对周围第二项的引用,否则您将不得不通过引用或通过查找所需的项来获取它:

var item = myList.First(x=>x.Value == "two");
myList.Remove(item);

索引可能更容易...

关于c# - 如何从列表集合中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698130/

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