C#从字符串[]到Char [] []

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#从字符串[]到Char [] []相关的知识,希望对你有一定的参考价值。

我从这里和MSDN上找到了很多选项,但似乎都没有。所以基本上我必须读取一个文件,然后将内容转换为char [] [],例如:file:

ABCD 
EFGH 
QWER    

需要成为:

{ { 'A','B','C','D' },{ 'E','F','G','H' },{ 'Q','W','E','R' } }  

这就是我到目前为止所做的:

private static char[][] ParseFile(string file)
    {
        string[] fileOne = File.ReadAllLines(file);
        char[][] fileOut = {};
        char[] fileOutLine;
        for (int i = 0; i < fileTwo.Length ; i++)
        {
            string linew = fileTwo[i];
            for (int j = 0; j < linew.Length; j++)
            {
                //Stuck here
            }
        }

        return fileOut;  
private static char TurntoChar(string s)
    {
        switch (s)
        {
                case "S":
                    return 'S';
                    break;
                case "O":
                    return 'O';
                    break;
                case "F":
                    return 'F';
                    break;
                default:
                    return 'B';
                    break;
        }
    }
}


internal class Point
{
    public Point(int x, int y)
    {
        X = x;
        Y = y;
    }

    public int Y { get; set; }
    public int X { get; set; }
}

}        

提前致谢!

答案

你应该给lambda一个机会。它会让你的生活更轻松。 好吧,如果你坚持,那么你去吧

string[] lines = File.ReadAllLines(@"yourpath");
char[][] charArray = new char[lines.Length][];
for (int i = 0; i < lines.Length; i++)
{
    char[] lineChars = new char[lines[i].Length];
    charArray[i] = lineChars;
    for (int j = 0; j < lines[i].Length; j++)
    {
        charArray[i][j] = lines[i][j];
    }
}
另一答案

你可以使用Linq;

var fileOut = fileOne.Select(x => x.ToCharArray()).ToArray();

如果你不想使用Linq;

string[] fileOne = File.ReadAllLines(file);
char[][] fileOut = new char[fileOne.Length][];
for (int i = 0; i < fileOne.Length; i++)
{
    fileOut[i] = fileOne[i].ToCharArray();
}

以上是关于C#从字符串[]到Char [] []的主要内容,如果未能解决你的问题,请参考以下文章

C ++没有从字符串到const char *的可行转换* [重复]

Xcode c ++中的字符串到char *

C#从字符串[]到Char [] []

将二进制文件从一个位置转换为字符串到另一个位置

char * 到字符串文字如何有效?

[linux][c/c++]代码片段01