Pytania otagowane jako generics

Generics to forma parametrycznego polimorfizmu występująca w wielu językach, w tym w językach .NET, Java, Swift i Rust.

3
Wybierz słownik <T1, T2> z LINQ
Użyłem słowa kluczowego „select” i metody rozszerzenia, aby zwrócić za IEnumerable&lt;T&gt;pomocą LINQ, ale muszę zwrócić typ ogólny Dictionary&lt;T1, T2&gt;i nie mogę tego rozgryźć. W przykładzie, którego się tego nauczyłem, użyłem czegoś w formie podobnej do poniższej: IEnumerable&lt;T&gt; coll = from x in y select new SomeClass{ prop1 = value1, prop2 …
171 c#  .net  linq  generics 



4
Func <T> bez parametru out
Czy mogę przekazać metodę z parametrem out jako Func? public IList&lt;Foo&gt; FindForBar(string bar, out int count) { } // somewhere else public IList&lt;T&gt; Find(Func&lt;string, int, List&lt;T&gt;&gt; listFunction) { } Func potrzebuje typu, więc out nie zostanie tam skompilowany, a wywołanie listFunction wymaga int i nie pozwoli na wyjście. Czy jest …
167 c#  .net  linq  generics  func 

14
foreach vs someList.ForEach () {}
Najwyraźniej istnieje wiele sposobów na iterację kolekcji. Ciekawe, czy są jakieś różnice lub dlaczego używałbyś jednej metody zamiast drugiej. Pierwszy typ: List&lt;string&gt; someList = &lt;some way to init&gt; foreach(string s in someList) { &lt;process the string&gt; } Inny sposób: List&lt;string&gt; someList = &lt;some way to init&gt; someList.ForEach(delegate(string s) { &lt;process …
167 c#  .net  generics  loops  enumeration 

13
Jak przekonwertować int [] na Integer [] w Javie?
Jestem nowy w Javie i bardzo zdezorientowany. Mam duży zbiór danych o długości 4 int[]i chcę policzyć, ile razy występuje każda określona kombinacja 4 liczb całkowitych. Jest to bardzo podobne do liczenia częstości występowania słów w dokumencie. Chcę utworzyć Map&lt;int[], double&gt;odwzorowanie każdego int [] na bieżącą liczbę, gdy lista jest …


7
Jak ustawić zwracany typ metody jako ogólny?
Czy istnieje sposób, aby uczynić tę metodę ogólną, aby móc zwracać ciąg, bool, int lub double? W tej chwili zwraca ciąg, ale jeśli może znaleźć „prawda” lub „fałsz” jako wartość konfiguracyjną, chciałbym na przykład zwrócić wartość logiczną. public static string ConfigSetting(string settingName) { return ConfigurationManager.AppSettings[settingName]; }
166 c#  .net  generics  return-type 

9
Jak stworzyć klasę Java, która implementuje jeden interfejs z dwoma typami ogólnymi?
Mam ogólny interfejs public interface Consumer&lt;E&gt; { public void consume(E e); } Mam klasę, która zużywa dwa typy obiektów, więc chciałbym zrobić coś takiego: public class TwoTypesConsumer implements Consumer&lt;Tomato&gt;, Consumer&lt;Apple&gt; { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } } Najwyraźniej nie mogę tego …

11
Jak używać interfejsu jako ograniczenia typu ogólnego C #?
Czy istnieje sposób na uzyskanie następującej deklaracji funkcji? public bool Foo&lt;T&gt;() where T : interface; to znaczy. gdzie T to typ interfejsu (podobny do where T : classi struct). Obecnie zadowalam się: public bool Foo&lt;T&gt;() where T : IBase; Gdzie IBase jest zdefiniowany jako pusty interfejs, który jest dziedziczony przez …

4
Co to jest reifikacja?
Wiem, że Java implementuje polimorfizm parametryczny (Generics) z wymazywaniem. Rozumiem, czym jest wymazywanie. Wiem, że C # implementuje polimorfizm parametryczny z reifikacją. Wiem, że możesz sprawić, że będziesz pisać public void dosomething(List&lt;String&gt; input) {} public void dosomething(List&lt;Int&gt; input) {} lub że możesz wiedzieć w czasie wykonywania, jaki jest parametr typu …
163 c#  generics  reification 


7
C # Utwórz nowe T ()
Możesz zobaczyć, co próbuję (ale bezskutecznie) zrobić z następującym kodem: protected T GetObject() { return new T(); } Każda pomoc byłaby bardzo mile widziana. EDYTOWAĆ: Kontekst był następujący. Bawiłem się niestandardową klasą kontrolera, z której miały pochodzić wszystkie kontrolery, przy użyciu standardowych metod. W kontekście musiałem więc stworzyć nową instancję …
159 c#  .net  generics  c#-4.0  .net-4.0 


10
Lista ogólna - przenoszenie pozycji w ramach listy
Mam więc listę ogólną oraz wartość oldIndexi newIndex. Chcę przenieść element o adres oldIndexdo newIndex... tak prosto, jak to możliwe. Jakieś sugestie? Uwaga Przedmiot powinien znaleźć się między elementami na miejscu (newIndex - 1)i newIndex przed jego usunięciem.
155 c#  .net  generics  list 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.