簡體   English   中英

如何從列表集合中刪除對象?

[英]How to remove an object from a list collection?

我不得不改變我的代碼行。 我之前有這樣的事情

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

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

但是在我的一個頁面上,我有一個不需要字段“2”的下拉列表,所以我所做的只是編寫重復的代碼而不是

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"},
            };

那么現在如何刪除包含“two”的selectListItem? 我知道我可能會使用索引刪除。 但我可能會在將來添加到列表中,所以如果索引發生變化,我不想開始搜索並更改它。

謝謝

默認情況下, List<T>將比較對象引用(除非SelectListItem實現自定義相等方法)。 因此,除非您仍然引用第二個項目,否則您將不得不通過引用或通過查找所需項目來獲取它:

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

索引可能更容易......

您可以使用RemovalAll方法:

myList.RemoveAll(i => i.Text == "two");

顯然,這將刪除所有 “Text”屬性為“two”的項目,但由於你在ComboBox中使用它,我假設你每個“Text”值只有一個項目。

我們可以通過添加以下代碼在autocomplete div上進行鼠標選擇

進入jquery自動完成功能

這里我使用了id名稱作為Requiredid

 $("#Requiredid").autocomplete({focus:function(e,ui) {
      document.getElementById('Requiredid').value = ui.item.label;
      document.getElementById('hdnValue').value = ui.item.id;//If You need this value you //can add this line
}});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM