Вопросы с тегом «generics»

Обобщения являются формой параметрического полиморфизма, встречающейся в ряде языков, включая языки .NET, Java, Swift и Rust.

5
Эквивалент Swift для макросов MIN и MAX
В C / Objective-C можно найти минимальное и максимальное значение между двумя числами, используя макросы MIN и MAX. Swift не поддерживает макросы, и похоже, что в языковой / базовой библиотеке нет эквивалентов. Если один идти с пользовательским решением, может быть основано на дженерики , как этот один ?
98 generics  swift 

4
Есть ли в .NET способ проверить, содержит ли список a все элементы списка b?
У меня есть такой способ: namespace ListHelper { public class ListHelper<T> { public static bool ContainsAllItems(List<T> a, List<T> b) { return b.TrueForAll(delegate(T t) { return a.Contains(t); }); } } } Цель этого метода - определить, содержит ли список все элементы другого списка. Мне кажется, что что-то подобное уже встроено в …
98 c#  .net  list  generics  mono 


11
Элегантный способ объединить несколько коллекций элементов?
Скажем, у меня есть произвольное количество коллекций, каждая из которых содержит объекты одного типа (например, List<int> fooи List<int> bar). Если бы эти коллекции сами были в коллекции (например, типа List<List<int>>, я мог бы использовать, SelectManyчтобы объединить их все в одну коллекцию. Однако, если эти коллекции еще не находятся в одной …

10
Создать список примитивных int?
Есть ли способ создать список примитивов int или любых примитивов в java, как показано ниже? List<int> myList = new ArrayList<int>(); Кажется, я могу List myList = new ArrayList(); и добавьте "int" в этот список. Но тогда это означало бы, что я могу добавить что угодно в этот список. Есть ли …

3
В чем разница между <?> И <? расширяет Object> в Java Generics?
Я видел подстановочный знак, который раньше использовался для обозначения любого объекта, но недавно видел использование: &lt;? extends Object&gt; Поскольку все объекты расширяют Object, являются ли эти два использования синонимами?
96 java  syntax  generics 

3
ThreadStatic против ThreadLocal <T>: общий лучше, чем атрибут?
[ThreadStatic]определяется с помощью атрибута, а ThreadLocal&lt;T&gt;использует общий. Почему были выбраны разные дизайнерские решения? Каковы преимущества и недостатки использования универсальных атрибутов в этом случае?

6
Лучший способ проверить, является ли универсальный тип строкой? (C #)
У меня есть общий класс, который должен разрешать любой тип, примитивный или другой. Единственная проблема с этим - использование default(T). Когда вы вызываете default для типа значения или строки, он инициализирует его разумным значением (например, пустой строкой). Когда вы вызываете default(T)объект, он возвращает null. По разным причинам нам необходимо убедиться, …
95 c#  generics 

7
Могу ли я использовать инициализатор коллекции для записей Dictionary <TKey, TValue>?
Я хочу использовать инициализатор коллекции для следующего фрагмента кода: public Dictionary&lt;int, string&gt; GetNames() { Dictionary&lt;int, string&gt; names = new Dictionary&lt;int, string&gt;(); names.Add(1, "Adam"); names.Add(2, "Bart"); names.Add(3, "Charlie"); return names; } Обычно это должно быть примерно так: return new Dictionary&lt;int, string&gt; { 1, "Adam", 2, "Bart" ... Но каков правильный синтаксис …

7
void в дженериках C #?
У меня есть общий метод, который принимает запрос и предоставляет ответ. public Tres DoSomething&lt;Tres, Treq&gt;(Tres response, Treq request) {/*stuff*/} Но мне не всегда нужен ответ на свой запрос, и я не всегда хочу передавать данные запроса, чтобы получить ответ. Я также не хочу полностью копировать и вставлять методы для внесения …
94 c#  generics 

8
List <T> .Contains () работает очень медленно?
Может ли кто-нибудь объяснить мне, почему List.Contains()функция дженериков такая медленная? У меня есть List&lt;long&gt;около миллиона номеров, и код, который постоянно проверяет, есть ли конкретное число в этих числах. Я пробовал делать то же самое, используя Dictionary&lt;long, byte&gt;и Dictionary.ContainsKey()функцию, и это было примерно в 10-20 раз быстрее, чем со списком. Конечно, …
94 .net  arrays  generics  list 


5
Есть ли разумный подход к параметрам типа «по умолчанию» в C # Generics?
В шаблонах C ++ можно указать, что определенный параметр типа является значением по умолчанию. Т.е., если явно не указано иное, будет использоваться тип T. Можно ли это сделать или приблизить на C #? Я ищу что-то вроде: public class MyTemplate&lt;T1, T2=string&gt; {} Таким образом, экземпляр типа, который явно не указывает …



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.