我想在字符串数组的每个位置存储字符串值的每个字符。
我编写了这段代码,但Visual Studio说“无法隐式将String类型转换为String []”。
你能告诉我如何解决这个问题吗?
string [] array = Console.ReadLine();
答案 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;
}