使用ReadAllLines
剂量不能创建可操作的数组但仅仅是#34;它只是读取文本"。代码如下:
class Program
{
static void Main(string[] args)
{
string[] lines = File.ReadAllLines("read.txt");
foreach (string s in lines)
{
Console.WriteLine(s);
}
Console.WriteLine("press any key to close console.");
if (2 == 2)
{
lines[1][2] = 2;
}
}
}
错误如下:
属性或索引' string.this [int]'无法分配 - 它是只读的
是否有一段代码可识别.txt-file
中的数字和顺序?文本文件显示在下图中:
.txt文件中的每一行都应该是一个字符串。我尝试使用foreach
和for-loop
运算符的组合,但我对我应该写的内容很缺乏。
foreach (string s in lines)
{
for (int i = 0; i < 13; i++)
{
M[i] =
}
}
上面的M
是一个多维数组,其属性与.txt-file
相同。
答案 0 :(得分:0)
您可以从文本文件
创建多维char数组class Program
{
static void Main(string[] args)
{
char[][] arr = new char[numberofline][];
string[] lines = File.ReadAllLines("read.txt");
for (int i = 0; i < lines.Length; i++)
{
for (int j = 0; j < lines[i].Length; j++)
{
arr[i][j] = lines[i][j];
}
}
Console.WriteLine("press any key to close console.");
}
}
答案 1 :(得分:0)
在.NET中没有内置的方法。你可以做的是,从文件行创建一个多维数组,如下所示:
private static string[][] ReadAllLines(string filename)
{
string[] allFileLines = File.ReadAllLines(filename);
string[][] arr = new string[allFileLines.Length][];
for (int rowIndex = 0; rowIndex < allFileLines.Length; rowIndex++)
{
// Split by the space character and remove blank entries
arr[rowIndex] = allFileLines[rowIndex].Split(new [] { ' ' },StringSplitOptions.RemoveEmptyEntries);
}
return arr;
}