Charles T. Blankenship Ответов: 2

Создание списка ...


У меня есть вопрос для начинающих.
Я привык видеть список, созданный со следующим синтаксисом:
List<Employee> emp = new List<Employee>();

но недавно я видел список, определенный следующим образом:
List<Employee><employee> emp = new List<Employee><employee>

Какова цель второй пары угловых скобок?

Спасибо,
С. Т.

Что я уже пробовал:

То, что я указал выше ... простой вопрос о функциональности C#

Maciej Los

Вы уверены, что вторые скобки-это не круглые скобки?

Charles T. Blankenship

- Да, сэр ... положительный... Я получил его из статьи здесь, на CodeProject ... вот ссылка:

https://www.codeproject.com/Articles/897559/Learn-MVC-in-days-Day

Charles T. Blankenship

Я почти уверен, что это недопустимый синтаксис C#... но просто хотел убедиться, что C# не представит чего-то, о чем я не знаю.

2 Ответов

Рейтинг:
2

Maciej Los

Один Список<T> класса (System.Коллекции.Общая) | Майкрософт Документы[^] не имеет такого из конструктор[^].

Существует только один конструктор, который принимает круглые скобки: List<T>(IEnumerable<T>). Видеть:

void Main()
{
	
	
	string[] dinos = {"Tyrannosaurus",
	        "Amargasaurus",
	        "Mamenchisaurus",
	        "Deinonychus",
	        "Compsognathus"};
	
	List<Dinosaur> dinosaurs = new List<Dinosaur>(dinos.Select(x=>new Dinosaur(){Name=x}));
	//dinosaurs list has been initiated and set
	
			
}

// Define other methods and classes here
public class Dinosaur
{
	public string Name = string.Empty;

}


Итак, это ошибка в ссылочной статье.


BillWoodruff

+5 Привет, назовите меня фанатиком: я всегда настаиваю, чтобы мои студенты использовали новые[] :)

Это тоже сработает:

Список"динозавр"динолист = Динос.Выберите(dino => new Dinosaur() { Name = dino }).Список();

Maciej Los

Привет, Фанатик ;)
Большое спасибо, Билл.
Овации
Мацей

Рейтинг:
12

phil.o

Это действительно неверный синтаксис. Дело в том, что автор статьи не избежал скобок при написании своего кода-блока; система посчитала их незамкнутыми тегами и попыталась "исправить" ошибку, приведшую к неправильному синтаксису. Очевидно, автор не заметил этого факта. Прочитав комментарии к статье, вы обнаружите, что несколько пользователей сообщили об этой проблеме.