ile ayrılmış bir String dize Listesi dönüştürme nedir neye bağlıdır virgül (,
)sınırlayıcı
cevap
String.Join(",", myListOfStrings.ToArray())
ta sarışın an – spacemonkeys
Ekleyebileceğim tek şey, "ToArray()" dönüşümünden önce boş/boş bir işarettir: myListOfStrings.Where (İşlev (ler) Not String.IsNullOrEmpty (s)) .ArArray() ' –
ayrılmış değerlere sahip bir dizeye (string) bir listesini dönüştürmek için en iyi yolu "en iyi" demek istiyorsun. En az bellek yoğun olanı, önce son dizgenin boyutunu hesaplamak, daha sonra bu kapasiteye sahip bir StringBuilder oluşturmak ve dizeleri ona eklemektir.
StringBuilder, doğru boyuta sahip bir dize arabelleği oluşturacak ve bu arabellek, ToString yönteminden bir dize olarak aldığınız şudur. Bu, ilave ara diziler veya diziler oluşturulmadığı anlamına gelir.
// specify the separator
string separator = ", ";
// calculate the final length
int len = separator.Length * (list.Count - 1);
foreach (string s in list) len += s.Length;
// put the strings in a StringBuilder
StringBuilder builder = new StringBuilder(len);
builder.Append(list[0]);
for (int i = 1; i < list.Count; i++) {
builder.Append(separator).Append(list[i]);
}
// get the internal buffer as a string
string result = builder.ToString();
Hayır "En iyi" ile ne demek istediğin önemli değil, bu muhtemelen en iyisi değil. – mquander
@mquander: En az bellek yoğun, ilk paragrafta açıkça belirttim. Hafıza yükünü azaltmaya devam etmeniz gerekiyorsa, bu en iyi yöntemdir. – Guffa
Bellek yoğunluğu açısından pek fark yok. Join yönteminde ara dize yok. Sadece referans dizisi. –
Çözümümün:
string = ["a","2"]\n
newstring = ""
endOfString = len(string)-1
for item in string:
newstring = newstring + item
if item != string[endOfString]:
newstring = newstring ","'
Pseudocode bazen güzel ama burada gerçek dil uygulamaları tercih ediliyor. –
basit bir çözüm:
dim str as string = ""
for each item as string in lst
str += ("," & item)
next
return str.substring(1)
Bu dizesinden ilk kömürü çıkartıyor (",")
bir hız/performans çevirmeyelim Neden soru? "HIZLI yolu nedir ..." –
En Hızlı VE/VEYA Etkin olarak en iyi şekilde alınamaz mı? – spacemonkeys