小白,刚开始学习C#,对于从TXT文件读取数据很困惑,终于解决了。
使用List<T>存储的txt文件里面的数据,一行一行的存储进去。
(例如:100 147
134 69 117 42 89 125
38 13 38 31 22 103
143 94 104 123 98 58
38 30 67 120 149 100
93 162)
在类中先创建一个List<T>
public static List <string> vs = new List <string>();
static void ReadNode(string DataPath)
{
if(!File.Exists(DataPath))
{
Console.WriteLine(“{0}不存在!”,DataPath);
返回;
}
StreamReader sr = File.OpenText(DataPath);
String input;
String [] Data = null;
while((input = sr.ReadLine())!= null)
{
if(input ==“”)continue;
Data = input.Split(new Char [] {''},StringSplitOptions.RemoveEmptyEntries); //针对数据间以空格分隔的。
// Data = input.Split(new Char [] {'\ t'},StringSplitOptions.RemoveEmptyEntries); //针对数据间以Tab键分隔分隔的
.for(int i = 0; i <Data.Length; i ++ )
{
vs.Add((Data [i]));
}
}
sr.Close();
}
在主函数中调用ReadNode(@“文件路径”);
想要的数据就在vs里面了,如果想要转化成二维数组,像下面这样就可以了。
/*将列表vs的数据转化到二维数组cost中*/
int[,] cost = new int[m, n];
int index = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cost[i, j] = int.Parse(vs[index]);
index++;
Console.Write(cost[i, j] + " ");
}
Console.WriteLine();
}