У меня есть коллекция из двух списков.Почему изменение в одном списке влияет на другой список?
List<list<int>> FS = new List<List<int>>();List<List<int> V= new List<List<int>>()
я добавил некоторые valuse к FS
Теперь мой FS
Look Like
FS={{1},{2},{3}}
Тогда я назначен Valus из FS
в V
V = FS
Теперь я хочу, чтобы пройти через каждую пару
//Performing some Logic
for (int i = 0; i < FS.Count-1; i++)
{
for (int k = i + 1; k < FS.Count; k++)
{
List<int> temp = new List<int>();
temp.AddRange(FS[i]);
temp.AddRange(FS[k]);
VF.Add(IP_CFFM(temp));
V.Add(temp);
if (IP_CFFM(temp) > IP_CFFM(FS[i]) && IP_CFFM(temp) > IP_CFFM(FS[k]))
{
FS[i].AddRange(FS[k]);
FS.Remove(FS[k]);
}
}
}
Перед выполнением if(condition)
V
будет выглядеть V = {{1},{2},{3},{1,2}}
Но после выполнения строки FS[i].AddRange(FS[k]);
Список V изменяется, и это выглядит {{1,2},{2},{3},{1,2}}
В if(condition)
, я не манипуляция или не выполнять ничего на V
. Тогда почему это происходит?
класса всегда ссылочный типа, пожалуйста, перейдите по [этому документу] (https://msdn.microsoft.com/en-us/library/490f96s2. aspx) –