SORU
28 NİSAN 2009, Salı


IList virgülle ayrılmış listesi oluşturmak<dize> veya IEnumerable<dize>

IList<string> IEnumerable<string> bir dize değerleri virgülle ayrılmış bir listesini oluşturmak için en temiz yolu nedir?

String.Join(...) string[] bir çok IList<string> IEnumerable<string> gibi türleri kolayca dize bir diziye dönüştürülemez zaman çalışmak için hantal olabilir çalışır.

CEVAP
28 NİSAN 2009, Salı


.NET 4

IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);

Ayrıntı & Pre .Net 4.0 Çözümler

IEnumerable<string> string bir diziye dönüştürülebilirçokSERİ ile kolayca (.NET 3.5):

IEnumerable<string> strings = ...;
string[] array = strings.ToArray();

Yeterince kolay eğer gerekiyorsa eşdeğer yardımcı yöntem yazmak için:

public static T[] ToArray(IEnumerable<T> source)
{
    return new List<T>(source).ToArray();
}

O zaman şöyle diyoruz:

IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);

Sonra string.Join diyebilirsin. Tabii ki, değilsinvaryardımcı bir yöntem kullanmak için:

// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());

İkincisi rağmen bir lokma:) bir parçasıdır

Bu olmak için en kolay yolu yapmak, ve oldukça ölçülebilir de - başka soru hakkında tam olarak ne performans gibi, dahil olmak üzere (ancak bunlarla sınırlı değildir) this one.

Gibi .NET daha aşırı vardır 4.0, aslında sadece yazmak string.Join,:

string joined = string.Join(",", strings);

Çok daha basit :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006