C#simple error:在字符串数组中存储字符

时间:2010-04-02 15:38:25

标签: c#

我想在字符串数组的每个位置存储字符串值的每个字符。

我编写了这段代码,但Visual Studio说“无法隐式将String类型转换为String []”。

你能告诉我如何解决这个问题吗?

string [] array = Console.ReadLine();

4 个答案:

答案 0 :(得分:6)

Console.ReadLine不返回数组,而是返回string

string line = Console.ReadLine();

在您的代码中,变量array被声明为字符串数组,因此Console.ReadLine的结果无法分配给它。

答案 1 :(得分:1)

您可以使用String的ToCharArray()方法获取一个字符数组(char [])。然后,您可以使用LINQ或其他东西将每个字符转换为字符串。

非常奇怪的请求。

答案 2 :(得分:0)

Console.ReadLine()返回一个字符串。然后,如果您确实需要char数组,则可以使用string.ToCharArray()

答案 3 :(得分:0)

答案取决于你对“角色”的定义。如果您正在谈论代码点(即char s),那么会给出几个答案。如果你在谈论语言字符,那么这是一种方法:

        string[] array = GetAllCharacters(Console.ReadLine()).ToArray();

使用此方法:

using System.Globalization;
...
    private static IEnumerable<string> GetAllCharacters(string text)
    {
        TextElementEnumerator elementEnumerator = StringInfo.GetTextElementEnumerator(text);
        while (elementEnumerator.MoveNext())
            yield return (string)elementEnumerator.Current;
    }