我有 2 个列表。第一个是 Type string。第二个是类型object。现在我想将两个列表都放入一个Tuple<string,object>. 像这样
var List = new(string list1, object list2)[]
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我不得不创建 2 个单独的列表,因为我正在序列化对象,如果我首先有一个List<Tuple<string,object>>,序列化将不起作用。两个列表都可以变大,所以也许使用 foreach 循环?
您可以使用该Zip方法创建两个列表中的一个:
var lst = new List<string>() { "a", "b" };
var obj = new List<object>() { 1, 2 };
var result = lst.Zip(obj, (x, y) => new Tuple<string, object>(x, y))
.ToList();
Run Code Online (Sandbox Code Playgroud)
您可以使用 Linq Zip方法:
List<string> list1 = GetStrings();
List<object> list2 = GetObjects();
var merged = list1.Zip(list2, (a, b) => Tuple.Create(a, b));
Run Code Online (Sandbox Code Playgroud)