Я начал изучение языка C# и кое чего понять не могу, зачем нужно писать, например, при объявлении коллекции var list = new lisc<что-то>, нужно писать new? Где-то видел, что это нужно для того, чтобы дать память для этой коллекции, но и в других случаях слышал, что new отвечает за то, чтоб давать память, заранее спасибо за помощь
new это объявление нового экземпляра, без этого у тебя просто не скомпилируется же --- Сообщение объединено с предыдущим 14 апр 2022 типо var list создал тебе переменную, а уже new List<> дает понять что эта переменная будет типа список
feiserak, Певрое верно, но в твоём втором высказывании не совсем так: var list это АБСОЛЮТНО тоже самое что и List<> list , это просто синтаксичейский сахар для того чтобы укоротить запись а также не иметь проблем с анонимными типами. Но компилятор всегда точно знает что за тип скрывается за "var" и если он вдруг не может этого определить он жалуется (например var list = null; ). А new List<> выделит пямять под объект и вернёт ссылку на него. Хотя если честно я не совсем понимаю откуда у ТС возник этот вопрос, возможно он пришёл в C# например с питона где синтаксис вызова конструктора эквивалентен вызову функции и там не используется "new", но по факту и там и там отрабатывает конструктор класса/структуры который выделяет память под объект.
vtlstolyarov, У меня этот вопрос появился из-за того, что я никогда не изучал программирование и решил начать с C#, и там для создания переменной пишут по типу "Int i;" или присваивают значение "Int i = 10;", а тут я увидел, что применяют new, вот и подумал, почему нельзя написать "list<> list;", а потом добавлять в эту коллекцию новые элементы через add.