如何在C#中将string
类型转换为string[]
类型?
答案 0 :(得分:85)
string[]
是字符串的数组(向量)
string
只是一个字符串(列表/字符数组)
根据您想要转换的方式,规范的答案可能是:
return String.Join(" ", myStringArray);
return new []{ myString };
答案 1 :(得分:24)
数组是相同类型数据的固定集合,它们是连续存储的,并且可以通过索引访问(基于零)。
字符串是一系列字符。
因此String[]
是Strings
的集合。
例如:
String foo = "Foo"; // one instance of String
String[] foos = new String[] { "Foo1", "Foo2", "Foo3" };
String firstFoo = foos[0]; // "Foo1"
修改:显然没有直接的方法可以将单个String
转换为String[]
或相反亦然。虽然您可以使用String.Split
通过使用分隔符(例如逗号)从String[]
获取String
。
要将String[]
“转换”为String
(相反),您可以使用String.Join
。您需要指定如何连接这些字符串(例如,使用逗号)。
以下是一个例子:
var foos = "Foo1,Foo2,Foo3";
var fooArray = foos.Split(','); // now you have an array of 3 strings
foos = String.Join(",", fooArray); // now you have the same as in the first line
答案 2 :(得分:13)
您可以创建一个包含string[]
的{{1}}(字符串数组):
string
变量string someString = "something";
string[] stringArray = new string[]{ someString };
现在的长度为1,并包含stringArray
。
答案 3 :(得分:10)
如果您想将"Mohammad"
之类的字符串转换为包含所有字符String[]
的{{1}},这可能会对您有所帮助:
String
答案 4 :(得分:5)
string
是一个字符串,string[]
是一个字符串数组
答案 5 :(得分:3)
string
是一个字符串,string[]
是一个字符串数组。这意味着它是一个包含多个字符串的变量。
虽然你可以将string
转换为string[]
(创建一个包含一个元素的字符串数组),但这可能表明你正试图做一些你不应该做的事情
答案 6 :(得分:3)
要将带逗号分隔值的字符串转换为字符串数组,请使用Split
:
string strOne = "One,Two,Three,Four";
string[] strArrayOne = new string[] {""};
//somewhere in your code
strArrayOne = strOne.Split(',');
结果将是一个包含四个字符串的字符串数组:
{"一个""两个""三""四"}
答案 7 :(得分:2)
zerkms告诉你区别。如果您愿意,可以将字符串“转换”为长度为1的字符串数组。
如果你想将字符串作为参数发送,例如你可以这样做:
var myString = "Test";
MethodThatRequiresStringArrayAsParameter( new[]{myString} );
老实说,我没有看到任何其他理由进行转换,而不是讨论方法论证,但如果这是另一个原因,你将不得不提供一些关于你要完成什么的信息,因为可能有更好的解决方案
答案 8 :(得分:1)
一个字符串包含一个值,但字符串[]包含许多字符串,因为它是一个字符串数组。
查看更多here
答案 9 :(得分:1)
如果你只是一个初学者并且想要将一个字符串拆分成一个字母数组但是不知道正确的术语是char [];
String myString = "My String";
char[] characters = myString.ToCharArray();
如果这不是你想要的,抱歉浪费你的时间:P
答案 10 :(得分:1)
String myString = "My String";
String[] myString.Cast<char>().Cast<string>().ToArray();