Почему удаляются ссылки из List - C#
Формулировка задачи:
Обьясню ситуацию.
Создаю List<String>
1.добавил в него елементов
2.Создал новый класс с конструктором, который требует переменные типа List<String>, Создал переменную етого же класса уже в блоке, где создавал переменную из пункта 1, и кинул в конструктор переменную из пункта 1.
3.Роспечатал переменные из списка, который находился в классе.
4.Удалил содржимое переменной из пункта 1.
5.Роспечатал переменные из списка, который находился в классе, но там уже ничего не было.
Вопрос - почему удаляються и там елементы? мб другой набор данных создать для конструктора?
вот простой пример для наглядности выше описанного.
вот реализация.
в результате программа выдаст 2 строчки, а должно 4. Помогите разобраться, мб совет нужный дадите, код не обязательно
public class TestClass { public List<String> ListOfStrings = new List<String>();// public TestClass(List<String> _TestListOfString)//конструктор { ListOfStrings = _TestListOfString; } }
static void Main(string[] args) { List<String> testList = new List<string>();//1, testList.Add("dsada");//добавили testList.Add("sdaa"); TestClass newTestClass = new TestClass(testList); foreach (String str in newTestClass.ListOfStrings) { Console.WriteLine(str); } testList.Clear();// foreach (String str in newTestClass.ListOfStrings) { Console.WriteLine(str); } Console.ReadKey(); }
Разобрался путем поиска другого пути, но все же, напишите, почему?
Решение задачи: «Почему удаляются ссылки из List»
textual
Листинг программы
foreach (String str in newTestClass.ListOfStrings) { Console.WriteLine(str); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д