A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

string[] strs = File.ReadAllLines("电话.txt",Encoding.Default );
            for (int i = 0; i < strs.Length; i++)
            {
                string[] parts=strs.Replace ("\"","").Split(',');
                Console.WriteLine("姓名:{0} 电话:{1}",parts[0]+parts[1],parts[2]);
            }
            Console.ReadKey();

其中 电话.txt 中的内容是:
"张","三","15011111111";
"李","四","15011111112";
"王","五","15011111113";
"赵","六","15011111114“

出现错误:
file:///C:/Users/Administrator/AppData/Local/youdao/ynote/images/82703E7EC41E421E9BB17FF72B471142/1EA7341DCFCE4720A4605F9253EBEDE1.jpg
结果中本来应该显示四行数据,但却只显示了一行,还报错说是索引超出了数组界限,这是为什么????

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

倒序浏览
刚才图片没传上去,补上图片

索引超出数组界限.jpg (55.99 KB, 下载次数: 0)

索引超出数组界限.jpg
回复 使用道具 举报
本帖最后由 陈晖 于 2013-4-29 16:45 编辑


文字老是无法显示增加的内容。
{:soso_e100:}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
陈晖 发表于 2013-4-29 16:41
你应该将这句代码:string[] parts=strs.Replace ("\"","").Split(',');
---------------------改成string[ ...

出错的时候这个地方就调试过一次了,换了种分割的方法,可还是报同样的错误啊????崩溃了
回复 使用道具 举报
赵威 发表于 2013-4-29 16:44
出错的时候这个地方就调试过一次了,换了种分割的方法,可还是报同样的错误啊????崩溃了 ...


增加了内容,刚才通过文字修改不成功,我截了图,你将图中增加的代码加上去试一下。
回复 使用道具 举报
本帖最后由 黄晓波 于 2013-4-30 09:30 编辑
  1. static void Main(string[] args)
  2.         {
  3.             string filePath = @"C:\1.txt";
  4.             string[] fileAllLines = File.ReadAllLines(filePath, Encoding.Default);
  5.             for (int i = 0; i < fileAllLines.Length; i++)
  6.             {
  7.                 string[] fileLine = fileAllLines[i].Replace("\"", "").Replace(";", "").Split(',');
  8.                 Console.WriteLine("姓名:{0}  电话:{1}",fileLine[0]+fileLine[1],fileLine[2]);
  9.             }
  10.             Console.ReadKey();
  11.         }
复制代码
如果这些都没问题的话,有可能是你的文本中存在有空行(结尾的部分?);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马