[英]How to avoid the duplicates in drop-down list by using linq?
我正在使用 linq 編寫查詢,每當我在表單中創建新條目時,性別下拉列表都會在該列表中生成重復項。如果我創建 2 個新條目 2 個這樣的選項。 【男女男男】。 我的項目是visual studio-angularJS-web api-linq-sql-entity 框架。
就像是
var filteredList = originalList
.GroupBy(x => x.Gender)
.Select(group => group.First());
Linq 有一個 Distinct() 方法,它將使用默認的相等方法來確保每個項目只返回一個副本。
var items = new List<string>{'bob', 'frank', 'bob', 'jim'};
var distinctItems = items.Distinct();
//items should have 3 items, bob frank and jim
但是,如果您正在處理對象,默認的相等方法將是引用——這意味着您將獲得每個對象的一個副本,但兩個具有相同字段的對象不會被視為相等。 要解決這個問題,您需要重載 Equals 和 GetHashCode。
此外,不能保證訂單商品會從 Distinct 中出來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.