C#里面如何将.txt文件中的数据读入,存入数组。

mayanmajesty 2006-07-25 08:35:16
C#里面如何将.txt文件中的数据读入,存储为数组的形式。
...全文
1928 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
inshua 2006-08-07
  • 打赏
  • 举报
回复
string [] a = s.Split(' ');
List<int> ls = new List<int>;
foreach(string t in a)
{
int i;
if(int.TryParse(t,i)) ls.Add(i);
}

结果即 ls.ToArray
inshua 2006-08-05
  • 打赏
  • 举报
回复
谁说不能 == ,另,是 char , 不是 string
你调试一下,看 s[i] 什么东西
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
我想先用一个S[]的字符数组读出来,再写到数字数组,但是,有个问题,判断语句要怎么写,用if(s[i] ==' ')不行,因为string型不能使用‘==’操作符!
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
这是C#里面的,还是C啊~
wubrtn 2006-08-05
  • 打赏
  • 举报
回复
可以看一下代码:
StreamReader readParameter = new StreamReader("parameter.txt");
string line = string.Empty;
for(i=0;i<II;i++)
{

line = readParameter.ReadLine(); //叶片站
for(j=0;j<JJ;j++)
{
a[i][j] = int.Parse(line.Split(',')[j]);
}
}
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
哦,用C读入,哈哈,可是试试啊!
wubrtn 2006-08-05
  • 打赏
  • 举报
回复
关于中间空格不规则的数组,我也没有找到好办法,后来不得已,先用C編了一段程序,读入,然后输出,用“,”分割,再在C#里就可以读了。

方法是很笨。
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
是啊,但是要用什么方法,因为我用line.Split(' ')将每一行的数据读进来,转化成数组,如果.txt文件的数字是每间隔一个空格是可以的,但是如果不是,或者是不规则的间隔就不行了。应该有一种方法可以遇到间隔就不读吧!
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
我只是想问怎么读文件而已啦,而且怎么根据空格将文件中的数据分离出来,但是空格是不规则的,不是只间隔一个!
lynn0821 2006-08-05
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4929/4929270.xml?temp=.4591181

我这个程序,就是从txt文件读数据的,很大的,而且速度蛮好的,不用数据库就是方便啊。
luodi 2006-08-05
  • 打赏
  • 举报
回复
有一种东东叫做 Regular Expression ,看上去比较适合你的要求,去搜索一下MSDN文档吧
mayanmajesty 2006-08-05
  • 打赏
  • 举报
回复
不行!
我觉得是不是可以结合trim啊!
值得探讨!
inshua 2006-08-04
  • 打赏
  • 举报
回复
先通过 split 放入字符串数组 a 中.
然后逐条的把 a 中的字符串能变的变成数字,压入 b as list(of integer)
mayanmajesty 2006-08-04
  • 打赏
  • 举报
回复
wubrtn你的提议是可以的,但是int.Parse不是数组间的转换;
而且,我的.txt文本是不规则的,也就是有多个空格的,似乎用line.Split(' ')就会出现字符类型不符的错误!
diffmaker 2006-07-25
  • 打赏
  • 举报
回复
string line=string.Empty;
using(StreamReader sr=new StreamReader(Server.MapPath("input.txt")))
{
line=sr.ReadToEnd();
}
if(line!=string.Empty)
{
line=line.Replace(@"\n","");
string[] checks=line.Split('\r');
}

以前给人写的一个测试的小玩意,可以参考一下,也许用得上。
wubrtn 2006-07-25
  • 打赏
  • 举报
回复
不是有函数:
int.Parse(string)
mayanmajesty 2006-07-25
  • 打赏
  • 举报
回复
不行啊,而且 line是 string型,a[i]是int型。
wubrtn 2006-07-25
  • 打赏
  • 举报
回复
我是这样做的:
一次读一行:
string line = streamRead.ReadLine();
//如果数据间是“,”分隔:
a[i]= int.Parse(line.Split(',')[i]);
//数据如果使用不等的空格分隔
a[i]= int.Parse(line.Split(' ')[i]);
//数据如果使用不等的空格分隔的话,我就不会了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧