C# 从txt文件读入内容后怎样存为数组(可以遍历里面每行的元素)?求助!!
我的txt文件内容格式如下(比如有3行4列以空格分隔):132431232345543234565767我想读进来后存为3x4的数组,做为传给matlab函数的一个参数,...
我的txt文件内容格式如下(比如有3行4列 以空格分隔):
1 32 43 123
2 34 55 432
3 45 65 767
我想读进来后存为 3x4的数组,做为传给matlab函数的一个参数,让matlab可以读取里面每个元素。
我目前实现了从txt读进来split后,按行存储为一个string[]类型,但是只能遍历每一行,不能遍历到每行里的元素。应该如何写代码实现呀?
我现在的代码是:
string[] data2mat;
StreamReader sr = new StreamReader(fname, Encoding.Default);
string datafromtxt = sr.ReadToEnd();
data2mat = datafromtxt.Replace('\n',' ').Split('\r');
///////////////////////////////////////////
// 至此,data2mat 已经为:
1 32 43 123
2 34 55 432
3 45 65 767
//data2mat[1] 为:第一行
//问题:怎样处理,让每行里的每个元素都可以遍历,data2mat[1][1]????
//////////////////////////////////////////
我的目的是最终将data2mat传给matlab函数作为参数使用。请大神们帮我解答下怎样写成matlab能
使用的类型和格式呀。(也就是MWArray相互转化的那些语句怎么写呀?)
小妹子感激不尽!! 展开
1 32 43 123
2 34 55 432
3 45 65 767
我想读进来后存为 3x4的数组,做为传给matlab函数的一个参数,让matlab可以读取里面每个元素。
我目前实现了从txt读进来split后,按行存储为一个string[]类型,但是只能遍历每一行,不能遍历到每行里的元素。应该如何写代码实现呀?
我现在的代码是:
string[] data2mat;
StreamReader sr = new StreamReader(fname, Encoding.Default);
string datafromtxt = sr.ReadToEnd();
data2mat = datafromtxt.Replace('\n',' ').Split('\r');
///////////////////////////////////////////
// 至此,data2mat 已经为:
1 32 43 123
2 34 55 432
3 45 65 767
//data2mat[1] 为:第一行
//问题:怎样处理,让每行里的每个元素都可以遍历,data2mat[1][1]????
//////////////////////////////////////////
我的目的是最终将data2mat传给matlab函数作为参数使用。请大神们帮我解答下怎样写成matlab能
使用的类型和格式呀。(也就是MWArray相互转化的那些语句怎么写呀?)
小妹子感激不尽!! 展开
3个回答
展开全部
static void Main(string[] args)
{
string fn = @"D:\test.txt";
int[,] nums = new int[3, 4];
using (StreamReader sr = new StreamReader(fn))
{
string all = sr.ReadToEnd();
int i = 0;
int j = 0;
foreach (string line in all.Split(new char[] { '\r', '\n' },
StringSplitOptions.RemoveEmptyEntries))
{
foreach (string w in line.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries))
{
nums[i, j] = Convert.ToInt32(w);//最终结果
Console.Write(w + '\t');
}
i++;
j = 0;
Console.WriteLine();
}
}
Console.ReadLine();
}
追问
谢谢大哥,要是读入的txt文件行列数未知,(比如读之前不知道有几行几列),怎么定义数组呀?
// int[,] nums = new int[未知行数, 未知列数]; 怎么办??
追答
私信吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个方法是读到文档结尾的,split("/n"),差不多是这么个意思。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是要转为二维数组?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询