基于值使用linq比较两个列表
我正在使用silverlight 4。我有一个场景,需要根据值比较两个列表基于值使用linq比较两个列表,linq,Linq,我正在使用silverlight 4。我有一个场景,需要根据值比较两个列表 List<Option> lstoption1 = new List<Option>(); Option opt = new Option(); opt.OptionText = "Text1"; lstoption1.add(opt) Option opt2 = new Option(); opt2.OptionText = "Text2"; lstoption
List<Option> lstoption1 = new List<Option>();
Option opt = new Option();
opt.OptionText = "Text1";
lstoption1.add(opt)
Option opt2 = new Option();
opt2.OptionText = "Text2";
lstoption1.add(opt2)
Option opt3 = new Option();
opt3.OptionText = "Text3";
lstoption1.add(opt3)
List<Option> lstoption2 = new List<Option>();
Option opt = new Option();
opt.OptionText = "Text1";
lstoption2.add(opt)
Option opt2 = new Option();
opt2.OptionText = "Text4";
lstoption2.add(opt2)
Option opt3 = new Option();
opt3.OptionText = "Text3";
opt3.OptionChecked = false;
lstoptions2.add(opt3)
为此,我使用了很多for循环,但我想使用linq以一种简单的方式来实现
在silverlight中使用LINQ有什么简单的方法可以找到它们吗
感谢您的帮助。假设平等设置正确: 1 var Sameenties=两个列表中都存在哪些实体 2 var existinlst1=哪些实体仅存在于lstoptions1中 3 var notexistinlist1=哪些实体仅在lstoptions1中不存在 我想-你的描述不太清楚 如果需要,可以将自定义相等比较器传递到所有这些方法中,以便仅按选项文本进行比较。请注意,如果只需要结果中的选项文本,则可以首先投影它:
var text1 = list1.Select(x => x.OptionText);
var text2 = list2.Select(x => x.OptionText);
// Now use the same methods as before, but with text1 and text2
假设平等是适当建立的: 1 var Sameenties=两个列表中都存在哪些实体 2 var existinlst1=哪些实体仅存在于lstoptions1中 3 var notexistinlist1=哪些实体仅在lstoptions1中不存在 我想-你的描述不太清楚 如果需要,可以将自定义相等比较器传递到所有这些方法中,以便仅按选项文本进行比较。请注意,如果只需要结果中的选项文本,则可以首先投影它:
var text1 = list1.Select(x => x.OptionText);
var text2 = list2.Select(x => x.OptionText);
// Now use the same methods as before, but with text1 and text2
如何将相等比较器作为OptionText传递给它。@Chakradhar:你不明白哪一点-创建一个比较器,还是传递它?您只需将它作为第二个参数传递给这些方法中的每一个。如何将相等比较器作为OptionText传递给它。@Chakradhar:您不了解哪一点-创建比较器,还是传递它?您只需将它作为第二个参数传递给这些方法中的每一个。
var list1Only = list1.Except(list2);
var list2Only = list2.Except(list1);
var text1 = list1.Select(x => x.OptionText);
var text2 = list2.Select(x => x.OptionText);
// Now use the same methods as before, but with text1 and text2