Почему удаляются ссылки из List - C#

Узнай цену своей работы

Формулировка задачи:

Обьясню ситуацию. Создаю List<String> 1.добавил в него елементов 2.Создал новый класс с конструктором, который требует переменные типа List<String>, Создал переменную етого же класса уже в блоке, где создавал переменную из пункта 1, и кинул в конструктор переменную из пункта 1. 3.Роспечатал переменные из списка, который находился в классе. 4.Удалил содржимое переменной из пункта 1. 5.Роспечатал переменные из списка, который находился в классе, но там уже ничего не было. Вопрос - почему удаляються и там елементы? мб другой набор данных создать для конструктора? вот простой пример для наглядности выше описанного.
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();
        }
в результате программа выдаст 2 строчки, а должно 4. Помогите разобраться, мб совет нужный дадите, код не обязательно
Разобрался путем поиска другого пути, но все же, напишите, почему?

Решение задачи: «Почему удаляются ссылки из List»

textual
Листинг программы
foreach (String str in newTestClass.ListOfStrings)
            {
                Console.WriteLine(str);
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы