-2
A
回答
1
這是典型的內部連接,因此你可以使用LINQ Join
方法:
var list3 = list2.Join(list1, x => x.State, y => y.State, (x, y) => x)
.ToList();
1
for(int i=0;i<list2.Count;i++)
{
if(!list1.Select(p=>p.State).Contains(list2[i].State))
{
list2.RemoveAt(i);
}
}
或:
var improve_list2 = (from c in list2
where list1.Select(p=>p.State).Contains(c.State)
select c).ToArray();
2
你可以使用相交方法
var list1 = new [] {1,2,4};
var list2 = new [] {1,2,3};
list1.Intersect(list2);
這會給結果1,2
或者,如果你ar如果使用你創建的類,你需要創建一個比較器來告訴交叉方法什麼等於什麼。
var productList1 = new List<Product>();
productList1.Add(new Product { Code = 1, Name = "Pears" });
productList1.Add(new Product { Code = 2, Name = "Rasbries" });
productList1.Add(new Product { Code = 3, Name = "Apple" });
var productList2 = new List<Product>();
productList2.Add(new Product { Code = 1, Name = "Pears" });
productList2.Add(new Product { Code = 2, Name = "Rassbeyreys" });
productList2.Add(new Product { Code = 4, Name = "Avocado" });
var result = productList1.Intersect(productList2, new ProductComparer());
public class ProductComparer : IEqualityComparer<Product>
{
public bool Equals(Product x, Product y)
{
return x.Code == y.Code;
}
public int GetHashCode(Product obj)
{
return obj.Code;
}
}
+0
如果您認爲這是答案,請選擇它:-) – orangesherbert
相關問題
- 1. 使用Linq來比較兩個列表
- 2. 比較兩個列表,並使用LINQ
- 3. 比較兩個列表linq
- 4. Linq比較兩個列表 - 學習LINQ
- 5. 比較linq中的兩個列表
- 6. 比較兩個列表元素與LINQ
- 7. linq比較兩個id列表?
- 8. LINQ比較兩個列表並刪除
- 9. 使用Linq比較2個列表
- 10. 比較兩個列表通過一個物業使用LINQ
- 11. 使用Linq比較或匹配兩個通用列表集合
- 12. 使用LINQ to從比較兩個列表,其中
- 13. 比較使用Linq進行部分匹配的兩個列表
- 14. 通過使用linq比較兩個列表進行排序?
- 15. 比較兩個不同類型的列表使用linq
- 16. 比較兩個列表<T>使用LINQ
- 17. 使用MSpec比較兩個列表
- 18. 使用LINQ比較兩個字段
- 19. Linq和比較兩個日期列
- 20. c#列表比較器使用兩個比較元素
- 21. 比較兩個列表
- 22. 比較兩個列表
- 23. 比較兩個列表
- 24. 比較兩個組列表
- 25. 比較兩個列表 - Scala
- 26. 比較兩個列表C#
- 27. 比較兩個列表 - Python
- 28. 比較兩個列表
- 29. 比較兩個列表?
- 30. 比較兩個列表C#
Whert花哨的圖紙,但StackOverflow上不適用於「給我寫代碼,做這做那。」 –
@Konrad Kokosa:對不起,我是linq的初學者,所以我沒有任何想法。 thatsy尋求幫助 – user2931394