C #: Как я могу получить 2 списка в один список из двух кортежей в - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть 2 списка.Первый тип string.Второй тип object.Теперь я хочу получить оба списка в Tuple<string,object>.как это

var List = new(string list1, object list2)[]

Как мне это сделать?

Мне пришлось создать 2 отдельных списка, потому что я сериализовал объект, и сериализация не сработала бы, если бы у меня был List<Tuple<string,object>> во-первых.Оба списка могут стать большими, так что, возможно, с циклом foreach?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Вы можете использовать метод Linq Zip :

List<string> list1 = GetStrings();
List<object> list2 = GetObjects();

var merged = list1.Zip(list2, (a, b) => Tuple.Create(a, b));
0 голосов
/ 14 февраля 2019

Вы можете использовать метод 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();
...