用silverlight / c#编程。
我现在有两个列表设置:
list<string> quote_id = new List<int>();
List<getdata> merge = new List<getdata>();
public class getdata
{
public string month { get; set; }
public string event_action_cd { get; set; }
public string quote_id { get; set; }
}
我真正想要的是返回一个包含两个列表中出现的所有quote_id的列表 (用sql术语:select * from quote_id,merge where quote_id.quote_id = merge.quote_id)
我该怎么做?我知道Linq可能对我很有帮助,但我是Linq运营商的新手。
谢谢!
答案 0 :(得分:0)
我相信您正在寻找Select * From merge where quote_id in ("","")...
var query = merge.Where(r=> quote_id.Contains(r.quote_id));
如果您需要列表,则可以将ToList
附加到查询中。
另外,我相信您的quote_id
定义为:
List<string> quote_id = new List<string>();
答案 1 :(得分:0)
您可以使用Union扩展程序。
var query = quote_id.Union(merge.Select(data=>data.quote_id));
这将返回一个IEnumerable,其中merge
集合包含quote_id
集合中的项目。
我不建议使用Contains方法,因为这会对其他集合中的每个项目进行顺序搜索。这将产生巨大的性能影响。