C't bir "içi" dizi olabilir#?
Bu bir yerde olduÄŸunu hayal et
public static T AnyOne<T>(this T[] ra) where T:class
{
int k = ra.Length;
int r = Random.Range(0,k);
return ra[r];
}
hatta sadece bu
public static string OneOf(this string[] strings)
{
return "a";
}
Sonra, tabii ki bunu yapabilirsiniz...
string[] st = {"a","b","c"};
string letter = st.AnyOne();
... harika. AMA. Bunu yapmak mümkün DEĞİL gibi görünüyor:
string letter = {"a","b","c"}.AnyOne();
hatta bu belki de
string letter = ( {"a","b","c"} ).AnyOne();
ya ben denedim baÅŸka bir ÅŸey.
Aslında (1) Bu neden yapamaz? ve (2) Ben bir şey eksik, nasıl eğer bir yolu varsa bunu yapar mısınız?
CEVAP
Dizinin ilk oluşturmak için, new[]
kullanarak.
string letter = (new[] {"a","b","c"}).AnyOne();
@Hvd bahsedilen dayalı parantez (..)
, olmadan bunu yapmak daha okunabilir olduğunu düşünüyorum çünkü dayalı parantez ekledim.
string letter = new[] {"a","b","c"}.AnyOne();
Ve diğer yanıtlar belirtildiği gibi veri türü new string[]
belirtebilirsiniz.
Sadece dizi doldurmak için bir yol olarak düşünebilirsiniz, çünkü {"a","b","c"}
yaratmak için değil yapamazsın.
Başka bir nedeni derleyici karışık olacaktır, oluşturmak için neler olacağını bilemeyiz, string[]{ .. }
List<string>{ .. }
bir örnek için.
new[]
sadece derleyici kullanarak biliyorumveri türü(".."
), ne istiyorsun {..}
, (string
) arasında. Önemli bölümü bir dizi istediğiniz anlamına gelir []
.
Hatta new[]
ile boÅŸ bir dizi oluÅŸturabilirsiniz.
string[] array = new []{ }; // Error: No best type found for implicity-typed array
&Quot arasında;fark Dizi ne()" ve...
Nasıl "yorum-out" bir toplu ...
Nasıl "bağımsız" dönüştürme; ...
&Quot;doÄŸru" Ruby bir dizi sokman...
Tam olarak "HİERARCHY_REQUEST_ERR...