74

如何将string类型转换为string[]C# 中的类型?

4

11 回答 11

134

string[]是一个字符串数组(向量) string只是一个字符串(一个字符列表/数组)

根据您要如何转换它,规范的答案可能是:

字符串[] -> 字符串

return String.Join(" ", myStringArray);

字符串->字符串[]

return new []{ myString };
于 2012-06-18T11:11:29.670 回答
32

数组是相同类型数据的固定集合,这些数据连续存储并且可以通过索引(从零开始)访问。

字符串是一个字符序列。

因此 aString[]是 的集合Strings

例如:

String foo = "Foo";  // one instance of String
String[] foos = new String[] { "Foo1", "Foo2", "Foo3" };
String firstFoo = foos[0];  // "Foo1"

数组(C# 编程指南)

编辑:所以显然没有直接的方法可以将单曲转换为单曲StringString[] 反之亦然。尽管您可以使用分隔符(例如逗号)从 aString.Split中获取 a 。String[]String

要将 a “转换”String[]为 a String(相反),您可以使用String.Join. 您需要指定如何加入这些字符串(fe 和逗号)。

这是一个例子:

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
于 2012-06-18T11:10:57.610 回答
20

如果您想将包含所有字符的字符串转换"Mohammad"String[]String这可能会对您有所帮助:

"Mohammad".ToCharArray().Select(c => c.ToString()).ToArray()
于 2015-12-14T16:33:33.620 回答
15

您可以创建一个string[]包含您string喜欢的(字符串数组):

string someString = "something";
string[] stringArray = new string[]{ someString };

该变量stringArray现在的长度为 1 并包含someString.

于 2012-06-18T11:11:14.877 回答
11

要将具有逗号分隔值的字符串转换为字符串数组,请使用Split

string strOne = "One,Two,Three,Four";
string[] strArrayOne = new string[] {""};
//somewhere in your code
strArrayOne = strOne.Split(',');

结果将是一个包含四个字符串的字符串数组:

{“一二三四”}

于 2017-07-26T14:03:25.330 回答
5

zerkms 告诉你区别。如果您愿意,可以将字符串“转换”为长度为 1 的字符串数组。

例如,如果您想将字符串作为参数发送,您可以这样做:

var myString = "Test";

MethodThatRequiresStringArrayAsParameter( new[]{myString} );

老实说,除了满足方法参数之外,我看不出进行转换的任何其他原因,但如果这是另一个原因,您将不得不提供一些有关您要完成的工作的信息,因为可能有更好的解决方案。

于 2012-06-18T11:10:26.503 回答
4

string是一个字符串,并且string[]是一个字符串数组

于 2012-06-18T11:08:46.970 回答
3

Astring是一个字符串,astring[]是一个字符串数组。这意味着它是一个包含多个字符串的变量。

尽管您可以将 a 转换string为 a string[](创建一个包含一个元素的字符串数组),但这可能表明您正在尝试做一些您不应该做的事情。

于 2012-06-18T11:09:09.310 回答
2

强制转换还可以帮助将字符串转换为字符串 []。在这种情况下,演示了使用 ToArray() 转换字符串:

String myString = "My String";
String[] myString.Cast<char>().Cast<string>().ToArray();
于 2014-06-18T08:29:16.980 回答
1

一个字符串保存一个值,但一个 string[] 保存许多字符串,因为它是一个字符串数组。

在这里查看更多

于 2012-06-18T11:10:00.497 回答
0

如果您只是一个初学者并且想将一个字符串拆分为一个字母数组但不知道正确的术语是 char[];

String myString = "My String";
char[] characters = myString.ToCharArray();

如果这不是您想要的,抱歉浪费您的时间:P

于 2012-06-18T11:54:39.350 回答