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

问题描述 投票:-1回答:2

我从这里和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; }
}

}        

提前致谢!

c# arrays string char
2个回答
0
投票

你应该给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];
    }
}

2
投票

你可以使用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();
}
© www.soinside.com 2019 - 2024. All rights reserved.