2016-12-29 61 views
-1

我是C#的新手,併爲noob問題道歉 - 我試圖將字符串列表轉換爲單個字符串,以便我可以與WWWForm的POST函數一起使用它。如何將字符串列表轉換爲Unity中的單個字符串(C#)

如果我有一個字符串列表(例如kidIds = ["a#123", "b#123"]),我該如何輕鬆將其轉換爲單個字符串("a#123, b#123")?在Javascript中,我只會做kidIds.join(","),但我不確定如何在C#中執行此操作。

我試着做kidIds.ToArray().ToString(),但它並不真正給我我想要的。我可以使用for循環遍歷整個列表,但是我想知道是否可以使用更簡單的一個班輪?

+0

https://開頭MSDN。microsoft.com/en-us/library/57a79xd0(v=vs.110).aspx – apocalypse

回答

2

有基本相同的事情,如JavaScript的join()

String.Join Method

+0

謝謝你,這工作完美! 5分鐘過後,我們會接受答覆。 –

2

也許你可以試試功能CONCAT,像

String str = ""; 

str = kidIds[0] + kidIds[1]; 

str = str.concat(kidIds[0], kidIds[0]); 

​​

我想我會幫忙。

3

既然你是C#的新手,我想告訴你,你試圖將字符串列表轉換爲單個字符串。不,它不是一個字符串列表,但它是一個字符串數組。字符串列表將會像

List<string> SomeName = new List<string>(); 

在哪裏作爲你的一個被聲明爲數組。現在,您可以加入字符串數組爲一個字符串相同,如JavaScript像

string SomeString = String.Join(",", kidIds); 

string.Join方法結合多種串爲一體。它接收兩個參數:一個數組(或IEnumerable)和一個分隔符字符串。

您還可以創建一個字符串使用出來的+ String數組,將在連接字符串像

string smstr = String.Empty; 
for(int i=0; i<kidIds.Length; i++) 
{ 
    smstr = smstr + kidIds[i]; 
    //or 
    smstr += kidIds[i] 
} 

您也可以選擇自StringBuilder的StringBuilder.Append創建一個串出字符串數組的()方法比使用+運算符像

StringBuilder sb = new StringBuilder(); 
for(int i=0;i<kidIds.Length;i++) 
{ 
    sb.Append(kidIds[i]); 
} 

好得多,但StringBuilder的是好當的串連小於1000,的string.join()甚至比StringBuilder的效率更高。

0

爲此,您可以使用下面的代碼...

string[] kidIds = { "a#123", "b#123" }; 

     String str = ""; 

     foreach (var kidId in kidIds) 
     { 
      str += kidId + ","; 
     } 

     str = str.Remove(str.Length - 1,1); // this line use for remove last comma 

感謝...

相關問題