如何在C#中将单词的字母拆分为数组?

Jav*_*oob 5 .net c# string tokenize

如何将字符串拆分为C#中的字符数组?

示例使用的字符串字是"机器人".

该程序应打印出来:

r
o
b
o
t
Run Code Online (Sandbox Code Playgroud)

原始代码段:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;


namespace Testing
{
class Program
{
    static void Main(string[] args)
    {
        String word = "robot";

        String[] token = word.Split(); // Something should be placed into the () to 
        //print letter by letter??

        foreach (String r in token)
        {
            Console.WriteLine(r);
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

如何正确实施代码?

Geo*_*ker 13

为什么不呢?

public void WriteLetters(string s)
{
    foreach (char c in s)
    {
        Console.WriteLine(c); 
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您确实希望在显式字符数组中看到它,请执行以下操作:

string s = "robot";
char[] charArray = s.ToCharArray();
Run Code Online (Sandbox Code Playgroud)

如果您想打印出来(每行1个),请执行以下操作:

for (int i = 0; i < charArray.Length; i++)
{
    Console.WriteLine(charArray[i]);
}
Run Code Online (Sandbox Code Playgroud)

我不确定你要做什么,所以我可能会离开基地.

如果通过tokenize,您的意思是将字符存储在数组中,那么您已经在String对象中拥有该字符1.

1实际上并非如此,因为String使用索引器来迭代字符值,而在C/C++中,字符串实际上是一个字符数组.出于我们的目的,我们可以将字符串视为字符数组


jas*_*son 10

该类String实现IEnumerable<char>并因此贯穿字符串的字母,您可以一次抓取IEnumerator<char>并处理一个字符串char.一种方法是使用foreach:

foreach(char c in "robot") {
    Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)

如果您需要char阵列中的每一个,您可以使用String.ToCharArray:

char[] letters = "robot".ToCharArray();
Run Code Online (Sandbox Code Playgroud)

  • @JavaNoob:这对你意味着什么? (4认同)