List<List<string>> yssj = new List<List<string>> { new List<string> { "C01", "C51", "C53" }, new List<string> { "C01", "C67", "C65" } };
//要把list<list> 里的list元素合并到一个list里
var jsj = yssj.Select(s => s.Select(s => s)).ToList();//不太行的方法
List<string> xsj = new();
foreach (var item in yssj)
{
xsj = xsj.Union(item).ToList();//正常的方法
}
return xsj.ToList();// 要的结果就是合并后的数据 List<string> { "C01", "C51", "C53" ,"C67", "C65"}
如上所示
有一个List<List>类型的值为
new List<List<string>> { new List<string> { "C01", "C51", "C53" }, new List<string> { "C01", "C67", "C65" } }
想把最里面的元素拿出来合并成
new List<string> { "C01", "C51", "C53" ,"C67", "C65"}
以前的做法都是foreach循环Union。现在觉得foreach代码有点多,就想着能不能一句话搞定。
然后就尝试了
var jsj = yssj.Select(s => s.Select(s => s)).ToList();//不太行的方法
出来的结果却是这样的