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

  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009