C#读取txt文件

       用C#读取txt文件时,当txt中数据的分隔符是空格,而且空格数量不等时,如果直接用Split直接对每行进行分隔,那么list的数目会比每行的列数多,并不是真实的每行的列数。这时要把不等数目的空格全变成1个空格,这样计数才正确。代码如下:

public static List<string>split(string s,char splitchar=' ')
{
return s.Split(splitchar).Select(p=>p.Trim()).Where(p=>p.Length>0).ToList();
}

我的程序是这样子的:

using (StreamReader sr = new StreamReader(filePath)) 
{
   string line;
   while ((line = sr.ReadLine()) != null) 
   {
      if (i == int.Parse(textBox1.Text)-1)
      {
       List<string> dataItems=line.Split(' ').Select(p => p.Trim()).Where(p => p.Length > 0).ToList();
       double angleX = (double.Parse(dataItems[dataItems.Count - 1])) * pi / 180;
       //ArrayList dataItems2 = new ArrayList(dataItems);
       dataItems.Remove(dataItems2[dataItems.Count - 1]);

        还存在一个问题是如果列表形式为string[]dataItems,则没有删除列表中某一元素的操作,需将dataItems转换为ArrayList dataItems1。如果为List<string>dataItems,则可直接用dataItems.Remove(dataItems[dataItems.Count])来删除某一元素。

 

转载于:https://www.cnblogs.com/yxq1263/p/7419756.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值