字符串到数组的转换

发布于 2024-08-23 09:25:53 字数 395 浏览 1 评论 0原文

当这个有效时:

string s4 = "H e l l o";

string[] arr = s4.Split(new char[] { ' ' });        
foreach (string c in arr)
{
    System.Console.Write(c);  
}

为什么这是无效的

string s4 = "H e l l o";

char[] arr = s4.Split(new char[] { ' ' });        
foreach (char c in arr)
{
    System.Console.Write(c);  
}

不能 我们用 Splitter 方法构建一个字符数组。

When this is valid:

string s4 = "H e l l o";

string[] arr = s4.Split(new char[] { ' ' });        
foreach (string c in arr)
{
    System.Console.Write(c);  
}

Why This is invalid

string s4 = "H e l l o";

char[] arr = s4.Split(new char[] { ' ' });        
foreach (char c in arr)
{
    System.Console.Write(c);  
}

Cant We build a Character Array with Splitter method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笑看君怀她人 2024-08-30 09:25:53

你这样说的目的

char[] arr = s4.Split(new char[] { ' ' });

是告诉编译器比他知道的更多,分割后的部分将是每个字符长,并且你想将它们转换为 char。为什么不明确地告诉他,例如说

char[] arr = s4.Split(new char[] { ' ' }).Select(c => c[0]).ToArray();

Your intention by saying

char[] arr = s4.Split(new char[] { ' ' });

is to tell the compiler much more than he knows, that the parts after the split will be each one character long and you want to convert them to char. Why don't you tell him explicitly, e.g. by saying

char[] arr = s4.Split(new char[] { ' ' }).Select(c => c[0]).ToArray();

心如荒岛 2024-08-30 09:25:53

首先,char 不是string 的子类型。因此,因为 string.Split 返回一个字符串数组,所以它不是一个 char 数组,即使每个字符串的长度都是 1。

char is not a subtype of string, to start with. So, because string.Split returns an array of strings, it's not an array of char, even if every string is of length 1.

寒尘 2024-08-30 09:25:53

Split 方法返回 string[],而不是 char[]。即使每个字符串的长度为 1。

如果您愿意,也可以使用 String.toCharArray()。

Split method returns string[], not char[]. even if the length of each string is 1.

You can use String.toCharArray() if you'd like.

吖咩 2024-08-30 09:25:53

为什么这是无效的

因为 Split 返回 string[] 而不是 char[]

我们不能构建一个字符数组吗
分离器方法。

请参阅 Thomas 的回答(使用 linq)

谢谢

Why This is invalid

Because Split returns string[] and not char[]

Cant We build a Character Array with
Splitter method.

Refer to Thomas' answer (using linq)

Thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文