Для того чтобы сделать два статических списка одинаковыми, но ссылающимися на разные данные в памяти, вам нужно создать копию списка, а не просто присваивать ссылку на него.
В C# можно создать копию списка с помощью метода "ToList()" класса List. Рассмотрим пример:
static List<int> list1 = new List<int>() { 1, 2, 3 }; static List<int> list2 = list1.ToList();
В данном примере, мы создаем статический список "list1" и инициализируем его некоторыми значениями. Затем, мы создаем статический список "list2" и присваиваем ему копию "list1" с помощью метода "ToList()".
Теперь оба списка "list1" и "list2" содержат одинаковые значения, но ссылки на разные данные в памяти. Если вы добавите, удалите или измените элементы в одном из списков, это не повлияет на другой список.
list1.Add(4); Console.WriteLine(string.Join(", ", list1)); // Вывод: 1, 2, 3, 4 Console.WriteLine(string.Join(", ", list2)); // Вывод: 1, 2, 3 list2.Remove(2); Console.WriteLine(string.Join(", ", list1)); // Вывод: 1, 2, 3, 4 Console.WriteLine(string.Join(", ", list2)); // Вывод: 1, 3
Как видно из примера, изменения в одном списке не влияют на другой список.