C# Sözdizimi - Virgül ile Diziye bir Dize Bölmek, Genel bir Listesini Dönüştürmek ve Sırasını Ters | Netgez.com
SORU
24 Kasım 2008, PAZARTESİ


C# Sözdizimi - Virgül ile Diziye bir Dize Bölmek, Genel bir Listesini Dönüştürmek ve Sırasını Ters

Bunun için doğru sözdizimi nedir

IList<string> names = "Tom,Scott,Bob".Split(',').ToList<string>().Reverse();

Ben dalga neyim? TSource ne anlama geliyor?

CEVAP
24 Kasım 2008, PAZARTESİ


Sorun void döner List<T>.Reverse() diyorsun.

Yapabilirsin ya:

List<string> names = "Tom,Scott,Bob".Split(',').ToList<string>();
names.Reverse();

ya da:

IList<string> names = "Tom,Scott,Bob".Split(',').Reverse().ToList<string>();

İkincisi List<T> tüm geri yapabilir ise daha pahalı, IEnumerable<T> veri alma ve daha sonra verimli içerir rasgele bir ters olarak "yerinde". (Fark burada Enumerable.Reverse<T>() uzatma yöntemi List<T>.Reverse() örnek yöntemi yerine çağırıyor.)

Daha verimli henüz, kullanabilirsiniz:

string[] namesArray = "Tom,Scott,Bob".Split(',');
List<string> namesList = new List<string>(namesArray.Length);
namesList.AddRange(namesArray);
namesList.Reverse();

Bu uygunsuz bir beden... her zamanki Gibi, gerçek kullanmak durumunda performans karşı okunabilirlik gözönünde bulunduğu dört ifade alma pahasına herhangi bir tampon oluşturma önler.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • cosmicrocketman

    cosmicrocket

    17 NÄ°SAN 2006
  • thewinekone

    thewinekone

    17 Aralık 2005