//初始化二维数组
double[,] array = new double[300, 11];
double[] stage;
int i = 0;
// 新建一个DataTable
DataTable tb = new DataTable();
// 添加一列用于存放读入的浮点数
DataColumn c = tb.Columns.Add("Value", typeof(double));
// 打开文件准备读取数据
StreamReader rd = File.OpenText(path);
//跳过第一行
string line;
while ((line = rd.ReadLine()) != null)
{
// 拆分出一行的所有用空格分割的数据项
string[] values = line.Split(' ');
//values为每行数据切割后的数组
// 将每个数据项转换成浮点数,并存入DataTable
foreach (string s in values) //s为行内元素
{
if (!string.IsNullOrEmpty(s))
{
// 转换成浮点数
double v = double.Parse(s);
// 存入DataTable
DataRow r = tb.NewRow();
r["Value"] = v;
tb.Rows.Add(v);
}
}
int j = 0; // 列数
//输出DataTable中保存的数组
foreach (DataRow r in tb.Rows)
{
var k = (double)r["Value"];//获取行内元素
if (!string.IsNullOrEmpty(k.ToString()))
{
array[i, j] = k;
}
else
{
array[i, j] = 1.23456;
}
j = j + 1;
}
//清除每行数据
tb.Rows.Clear();
i = i + 1;
}
各位大哥大姐,小弟在弄毕业设计,没有C#基础,但是懂一点C语言。现有代码如上,将 文件路径传入path = openFileDialog.FileName,然后实现将文件里面数据赋值给二维数组array[i,j]。现在想写一个类来调用,实现只写MyArray A= new MyArray(path)就能将path对应路径的文件数据转为一个二维数组,之前写了好久都没成功。求助各位大佬帮帮忙,最好给具体的代码,万分感谢!