Почему удаляются ссылки из 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);
}