2016-12-29 86 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 

感谢...