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 [] []的主要内容,如果未能解决你的问题,请参考以下文章