我是C#的新手,并为noob问题道歉 - 我试图将字符串列表转换为单个字符串,以便我可以将其与WWWForm的POST功能一起使用。
如果我有一个字符串列表(例如kidIds = ["a#123", "b#123"]
),如何轻松将其转换为单个字符串("a#123, b#123"
)?在Javascript中,我只会执行kidIds.join(",")
,但我不确定如何在C#中执行此操作。
我尝试过kidIds.ToArray().ToString()
,但它并没有真正给我我想要的东西。我可以使用for循环遍历整个列表,但我想知道是否可以使用更简单的一个衬里?
答案 0 :(得分:4)
由于您是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]);
}
但是当串联小于1000时StringBuilder很好,String.Join()甚至比StringBuilder更有效。
答案 1 :(得分:3)
与JavaScript的join()
答案 2 :(得分:3)
使用String.Join(',', kidIds);
https://msdn.microsoft.com/en-us/library/tk0xe5h0(v=vs.110).aspx
答案 3 :(得分:2)
也许你可以试试concat这个函数,比如
String str = "";
str = kidIds[0] + kidIds[1];
或
str = str.concat(kidIds[0], kidIds[0]);
或
for(int i=0;i<length;i++)
{
str += kidIds[i];
}
我想我会帮忙。
答案 4 :(得分:0)
您可以使用以下代码执行此操作...
if ($filesop !== array(null)) // note the triple equals
感谢...