Что такое Универсальные наборы в C#? [дубликат]

Я нашел проблему. Это было связано с конфигурацией EmbeddedKafka.

Перед началом тестирования с настройкой по умолчанию появился оператор beforeAll, начиная с EmbeddedKafka. EmbeddedKafka.start требует обновленных настроек брокера, передавая их для публикации после запуска EmbeddedKafka.

27
задан George Stocker 22 November 2010 в 16:25
поделиться

8 ответов

List<T> средства List<WhateverTypeYouWantItToBeAListOf>. Так, например:

, Если у меня есть Класс Сотрудника, и я хотел набор Сотрудников, я мог сказать:

List<Employee> employeeList = new List<Employee>();

я мог тогда добавить Employee Объекты к тому списку и иметь его быть Безопасным с точки зрения типов и расшириться на однако много объектов сотрудника, я вставил его.

Как так:

Employee emp1 = new Employee();
Employee emp2 = new Employee();

employeeList.Add(emp1);
employeeList.Add(emp2);

employeeList теперь содержит emp1 и emp2 как объекты.

существует несколько фасетов к универсальным наборам, самое важное существо, которое они обеспечивают объектному независимому способу наличия... хорошо... набор объектов. Они безопасны с точки зрения типов; что означает, что любой набор будет состоять из одного типа объекта. Вы не будете иметь Animal экземпляр в List<Employee> (если, конечно, Сотрудник не будет базовым классом, который Animal наследовался. В той точке, однако, у Вас есть большие проблемы.

Программирование с Дженериками является своей собственной темой, достойной (по крайней мере) одной главы в книге. На очень высоком уровне, программирующем с дженериками, обеспечивает другой способ снова использовать код - независимый от любой иерархии классов или деталей реализации определенного класса.

[еще 1119] информация здесь .

46
ответ дан George Stocker 28 November 2019 в 04:16
поделиться

Вам необходимо заменить T другим типом, таким как int, string или классом вашего творения:

List<int> values = new List<int>();

values.Add(1);
values.Add(2);

int secondNumber = values[1]; // Yay! No casting or boxing required!
10
ответ дан George Stocker 28 November 2019 в 04:16
поделиться

Например, если бы Вы хотели универсальный список целых чисел (int), то Вы записали бы:

List<int> list = new List<int>();

T параметр типа, который в Вашем коде должен быть фактическим типом.

7
ответ дан George Stocker 28 November 2019 в 04:16
поделиться

То, что входит в "универсальный список", универсальный, является фактом, что можно использовать тот же класс для создания списка яблок и списка картофеля. Конечно, как только Вы создаете список с new оператор, необходимо решить то, что возражает, что Вы хотите, чтобы он сохранил и передал Ваше решение путем помещения Имени типа объектов, которые Вы храните в <>.

следующая строка на самом деле говорит компилятор:

List<Employee> employeeList = new List<Employee>();

"Эй, мне нужен список, который может обработать объекты типа Employee; и назван employeeList!"

объект списка Вы добираетесь, тот путь больше не универсален. Это только примет и эхо-сигналы типа Employee. Но поведение списка определяется "универсальным" способом, который не заботится, о каких объектах оно на самом деле работает с. Это просто называет их' T' внутренне, потому что для всего, что список, как предполагается, делает, это - тип содержания, действительно не имеет значения.

6
ответ дан Final Form 28 November 2019 в 04:16
поделиться

Рассмотрите T как имя переменной. Необходимо определить его значение, т.е. сделать универсальный класс 'конкретным'. Так, можно создать List<string>, List<int>, или List из чего-либо еще, что Вы хотите.

5
ответ дан miguel 28 November 2019 в 04:16
поделиться

Вы объявляете список объектов Foo следующим образом:

List<Foo> fooList;

В имени типа указывается заполнитель для «реального» типа объекта, который вы помещаете в общий список во время создания экземпляра. она.

4
ответ дан Harper Shelby 28 November 2019 в 04:16
поделиться

Когда Вы делаете List<Object>, удостоверьтесь, что Ваш Класс объекта общедоступен. В установках VS по умолчанию классы выходят из поля как 'внутреннего' - значение, что Вы не можете составить список их, потому что они менее доступны, чем общедоступный Список, который Вы объявляете.

Это получило меня гм... вчера. Глупые значения по умолчанию.

4
ответ дан John Dunagan 28 November 2019 в 04:16
поделиться

Вы пытаетесь использовать класс List или пытаетесь создать свой собственный? Как выглядит ваш код на данный момент?

2
ответ дан Aistina 28 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: