Когда вы делаете это:
List<int> s1111 = qu[index];
... вы не получаете копию (или клон) qu[index]
, вы получаете ссылку на нее.
Итак, это:
s1111.Add(ls[2]);
... такое же, как если бы вы сделали это:
qu[index].Add(ls[2]);
Если вы хотите работать с клоном и оставить qu
нетронутым, вы можете сделать это:
List<int> s1111 = qu[index].ToList();
Или вот это:
List<int> s1111 = new List<int>(qu[index]);
... но понять, что оба из них будет работать как ожидалось для List<T>
типов значений (таких как int
). Если вы работали с элементами ссылочного типа, то изменения свойств элементов в s1111
будут отражены в элементах qu[index]
, потому что, опять же, каждый элемент является просто ссылкой на оригинал. Просто что-то иметь в виду, когда вы продвигаетесь вперед.