Это мой старый код, который не может дать правильный результат.
IList<string> testList=new List<string>();
testList.Add("string1");
var testList2=new List<string>(testList);
testList.ToList().AddRange(testList2);
Я ожидаю, что в testList есть два элемента, но на самом деле он содержит только один элемент;
Если я поменяю код на новый стиль, он может получить правильный результат. Пример:
IList<string> testList=new List<string>();
testList.Add("string1");
var testList2=new List<string>(testList);
var result=testList.ToList();
result.AddRange(testList2);
В результате он успешно имеет два элемента. Я думаю, причина в том, что iList (). ToList () создает новый список в другом месте, как результат параметра, который не зависит от iList (). Это правильно? или другие причины?