我有两个列表:
list1 = [a,b,c,4]
list2 = [1,23,5,6]
现在,我需要使用linq lambda创建一个匿名对象。
类似的东西。
list1 = DataTable.AsEnumerable().toList();
list2 = DataTable.AsEnumerable().toList();
var result = list1.Where(x => x.Field<int>(1) == 2018).Select(x => new[] {
new {x = "XYZ", y = x[0], z = list2[0]},
....}
}
我该怎么做?
答案 0 :(得分:0)
您需要使用Zip
Linq方法,请考虑以下示例:
int[] list1 = {1, 2, 3};
string[] list2 = {"a", "b", "c"};
var result = list1.Zip(list2, (i, s) => new {y = i, z = i});
答案 1 :(得分:0)
您的代码很好,它只需要一些小的修复即可:
string [] list1 = { "a", "b", "c", "4" };
int[] list2 = { 1, 23, 5, 6 };
object[] list3 = { "test", DateTime.Now, 56 };
var result = list1.Where(x => x == "a").Select(x =>
new { x = "XYZ", y = x[0], z = list2[0], t = list3[1] }).ToList();