«generics» etiketlenmiş sorular

Jenerikler, .NET dilleri, Java, Swift ve Rust gibi çeşitli dillerde bulunan bir tür parametrik polimorfizmdir.

3
LINQ ile bir Sözlük <T1, T2> seçin
IEnumerable&lt;T&gt;LINQ ile dönmek için "select" anahtar kelime ve uzantısı yöntemini kullandım , ancak bir genel dönmek için bir ihtiyaç var Dictionary&lt;T1, T2&gt;ve anlayamıyorum. Bunu öğrendiğim örnek aşağıdakine benzer bir biçimde kullanıldı: IEnumerable&lt;T&gt; coll = from x in y select new SomeClass{ prop1 = value1, prop2 = value2 }; Aynı şeyi …
171 c#  .net  linq  generics 

2
Genel dönüş tipi üst sınır - arabirim ve sınıf - şaşırtıcı derecede geçerli kod
Bu, bir üçüncü taraf kütüphane API'sinden gerçek dünyadaki bir örnektir, ancak basitleştirilmiştir. Oracle JDK 8u72 ile derlenmiştir Bu iki yöntemi düşünün: &lt;X extends CharSequence&gt; X getCharSequence() { return (X) "hello"; } &lt;X extends String&gt; X getString() { return (X) "hello"; } Her ikisi de "denetlenmeyen bir oyuncu kadrosu" uyarısı veriyor …
171 java  generics  java-8 

7
Mockito.any () pass Generics ile Arayüz
jenerikler ile bir arayüzün türünü geçmek mümkün mü? Arayüz: public interface AsyncCallback&lt;T&gt; Test yöntemimde: Mockito.any(AsyncCallback.class) &lt;ResponseX&gt;Arkasına koymak ya da .classişe yaramadı.
171 java  generics  mockito 

4
Out parametresi ile <T> işlevi
Out parametresine sahip bir yöntemi Func olarak iletebilir miyim? 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, bir türe ihtiyaç duyar, bu nedenle dışarıda derlenmez ve listFunction çağrısı bir int gerektirir ve dışarıya izin vermez. Bunu yapmanın …
167 c#  .net  linq  generics  func 

14
foreach vs someList.ForEach () {}
Bir koleksiyon üzerinde yinelemenin birçok yolu var. Farklılıklar olup olmadığını veya neden bir yolu diğerinin üzerinde kullandığınızı merak ediyorum. İlk tür: List&lt;string&gt; someList = &lt;some way to init&gt; foreach(string s in someList) { &lt;process the string&gt; } Diğer yol: 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
Nasıl int [] için Java Integer [] dönüştürmek için?
Java'da yeniyim ve kafam çok karıştı. 4 uzunluğunda büyük bir veri setim var int[]ve 4 tamsayıdan oluşan her bir kombinasyonun kaç kez meydana geldiğini saymak istiyorum. Bu, bir belgedeki kelime sıklıklarını saymaya çok benzer. Map&lt;int[], double&gt;Liste yinelendiği gibi her int [] çalışan bir sayıya eşleyen bir oluşturmak istiyorum , ancak …


7
Bir yöntemin dönüş türünü nasıl genel hale getirebilirim?
Bir dize, bool, int veya çift geri verebilir böylece bu yöntemi genel yapmak için bir yolu var mı? Şu anda, bir dize döndürüyor, ancak yapılandırma değeri olarak "true" veya "false" bulabiliyorsa, örneğin bir bool döndürmek istiyorum. public static string ConfigSetting(string settingName) { return ConfigurationManager.AppSettings[settingName]; }
166 c#  .net  generics  return-type 

9
Bir arabirimi iki genel türle uygulayan bir Java sınıfı nasıl yapılır?
Genel bir arayüzüm var public interface Consumer&lt;E&gt; { public void consume(E e); } İki tür nesne tüketen bir sınıf var, bu yüzden şöyle bir şey yapmak istiyorum: public class TwoTypesConsumer implements Consumer&lt;Tomato&gt;, Consumer&lt;Apple&gt; { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } } Görünüşe …

11
Arabirimi C # genel tür kısıtı olarak nasıl kullanabilirim?
Aşağıdaki işlev bildirimini almanın bir yolu var mı? public bool Foo&lt;T&gt;() where T : interface; yani. burada T (benzer bir arabirimi olan where T : classve struct). Şu anda yerleştim: public bool Foo&lt;T&gt;() where T : IBase; IBase, tüm özel arayüzlerim tarafından devralınan boş bir arayüz olarak tanımlandığında ... İdeal …

4
Yeniden yapılanma nedir?
Java'nın parametrik polimorfizmi (Generics) silme ile uyguladığını biliyorum. Silme işleminin ne olduğunu anlıyorum. C # 'ın parametrik polimorfizmi yeniden birleşme ile uyguladığını biliyorum. Bunun yazmana neden olduğunu biliyorum public void dosomething(List&lt;String&gt; input) {} public void dosomething(List&lt;Int&gt; input) {} veya bazı Parametrelenmiş türünün tür parametresi ne zamanında bilebilir, ama anlamak kalmamasıdır …
163 c#  generics  reification 

8
Diziler neden kovaryant, fakat jenerikler değişmez?
Joshua Bloch'un Etkili Java'sından, Diziler, genel türden iki önemli şekilde farklıdır. İlk diziler kovaryanttır. Jenerikler değişmezdir. Kovaryant, basitçe, X, Y'nin alt tipi ise, X [] 'nin de Y [] alt tipi olacağı anlamına gelir. Diziler kovaryanttır Dize Object So alt türü olduğu için String[] is subtype of Object[] Değişmez, X'in …

7
C # Yeni T Oluştur ()
Aşağıdaki kodla ne yapmaya çalıştığımı (ancak başarısız olduğunu) görebilirsiniz: protected T GetObject() { return new T(); } Herhangi bir yardım büyük mutluluk duyacağız. DÜZENLE: Bağlam aşağıdaki gibidir. Tüm denetleyicilerin türetilmesi için standartlaştırılmış yöntemlerle özel bir denetleyici sınıfıyla oynuyordum. Bu yüzden bağlamda, denetleyici türünde nesnenin yeni bir örneğini oluşturmam gerekiyordu. Yani …
159 c#  .net  generics  c#-4.0  .net-4.0 


10
Genel Liste - listedeki bir öğeyi taşıma
Yani genel bir liste ve bir oldIndexve bir newIndexdeğer var. Ben de öğeyi taşımak istediğiniz oldIndexiçin, newIndex... basitçe mümkün olduğunca. Baska öneri? Not Öğe , kaldırılmadan önceki(newIndex - 1) ve kaldırılmadan newIndex önce öğeler arasında olmalıdır .
155 c#  .net  generics  list 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.