Изменить запись во вложенном IEnumerable ? - PullRequest
0 голосов
/ 25 мая 2020

В настоящее время я пытаюсь изменить запись, которая хранится во вложенном IEnumerable, в настоящее время я пытаюсь написать модульный тест, в котором мне нужно проверить случай, когда

var original = new IEnumerable<IEnumerable<int>>();
//fill test with all kind of values
var test = original.clone()
test.First().First() = 3;

, но я не может измениться / установить значение вложенного IEnumerable?

1 Ответ

0 голосов
/ 25 мая 2020

Как объяснено в этом сообщении , «Linq предназначен для запросов, а не для обновления». В вашем коде вы запрашиваете первый элемент первого перечислимого, но когда вы присваиваете ему значение, которое не будет записано обратно в перечислимый объект.

Использование интерфейса с возможностью записи, такого как IList<T>, должно сделать трюк:

var original = new List<IList<int>>();
//fill test with all kind of values
var test = original.clone()
test[0][0] = 3;
...