С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 23.08.2011
Сообщений: 7
1

Требуется определить универсальный делегат delegate System.Collections.Generic.KeyValuePair<TKey,TValue> GenerateElement<TKey, TValue>(int j)

11.12.2011, 23:47. Показов 4435. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Помогите, пожалуйста, разобраться с заданием:
"требуется определить универсальный делегат
delegate System.Collections.Generic.KeyValuePair<TKey,TValue> GenerateElement<TKey, TValue>(int j);
и универсальный класс TestCollections<TKey,TValue>,
который содержит закрытые поля следующих типов
• System.Collections.Generic.List<TKey>;
• System.Collections.Generic.List<string> ;
• System.Collections.Generic.Dictionary<TKey, TValue> ;
• System.Collections.Generic.Dictionary<string, TValue>;
• GenerateElement<TKey, TValue>.
В конструкторе класса TestCollections<TKey,TValue> создаются коллекции с заданным числом элементов. Надо сравнить время поиска элемента в коллекциях-списках List<TKey> и время поиска элемента по ключу и элемента по значению в коллекциях-словарях Dictionary<TKey,TValue>.
Для автоматической генерации элементов коллекций используется метод, который передается в класс TestCollections<TKey,TValue> через параметр конструктора класса."

окей, с делегатом проблем нет, конструктор вроде тоже понятно как писать, да и вычислить время нетрудно. проблема с методом, который передаётся через параметр. тут я совсем теряюсь, как он должен выглядеть? просто new KeyValuePair<TKey, TValue>(); там не напишешь, количество параметров тоже не передать - в общем, с этим методом вообще ничего понять не могу. помогите, пожалуйста, глупой.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2011, 23:47
Ответы с готовыми решениями:

Совмещение типов KeyValuePair<TKey, TValue> и BinaryTree<T>
Решил подправить давнишний код, добавив сравнение элементов в дереве через ключи. Написал...

Верно ли понимаю, что KeyValuePair<TKey, TValue>.GetHashCode() возвращает хеш ключа?
Верно ли понимаю, что KeyValuePair&lt;TKey, TValue&gt;.GetHashCode() возвращает хеш ключа?

SortedList<TKey,TValue> пояснение
Поясните, пожалуйста, новичку реализацию коллекции SortedList&lt;TKey,TValue&gt; для конкретного примера...

Исключение KeyNotFoundException в Dictionary<TKey, TValue>
Не много не могу понять почему мне VS выдает исключение public class Protocol { ...

1
54 / 54 / 9
Регистрация: 09.11.2010
Сообщений: 120
12.12.2011, 00:06 2
Лучший ответ Сообщение было отмечено sosophe как решение

Решение

В параметрах конструктора нужно указать тип делегата
C#
1
2
3
4
5
6
7
8
9
delegate KeyValuePair<TKey,TValue> GenerateElement<TKey, TValue>(int j);
 
class TestCollections<TKey, TValue>
{
    public TestCollections(int count, GenerateElement<TKey, TValue> generate)
    {
        
    }
}
Ну и при инициализации указать метод (лямбду)
C#
1
var ob = new TestCollections<int, double>(10, n => new KeyValuePair<int, double>());
0
12.12.2011, 00:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2011, 00:06
Помогаю со студенческими работами здесь

Приблизительная реализация Dictionary<TKey,TValue>
Приветствую! Необходима помощь просветлённых в следующей задаче - Используя Visual Studio...

Порядок объектов в коллекции Dictionary<TKey, TValue>
Каким образом будут упорядочены объекты в коллекции? Какой метод должен быть переопределён для...

Выборка элементов из Dictinary<TKey, TValue> по условию
В Dictinary&lt;TKey, TValue&gt; value может принимать три значения: высокий , средний , низкий! Как...

Проход по содержимому ConcurrentBag<T> и ConcurrentDictionary<TKey, TValue>
Перебрать эелементы этих коллекций можно только циклом foreach?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru