本人初学c#,在网上搜到一个关于C#读取txt在datagridview中显示的问题,试了很多次老是报错,请大神指教! 40

我完全复制的代码可是每次读取文件的时候老是显示说“索引超出了数组界限”。如果将dr[1]=data[1];和dr[2]=data[2];这两句删去后可以运行正常,在dat... 我完全复制的代码可是每次读取文件的时候老是显示说“索引超出了数组界限”。如果将dr[1] = data[1];和dr[2] = data[2];这两句删去后可以运行正常,在datagridview中显示出一列的值。很是不解,想了很久也没调试好,用其他方法的循环和拆分数组方法也是这样。请问跟.net的版本有关嘛?我用的是3.5的。下面是那个代码的地址,我复制的是那个"满意回答"
http://zhidao.baidu.com/question/86935135.html#
展开
 我来答
无名可用_狂汗
2012-10-06 · TA获得超过3025个赞
知道大有可为答主
回答量:2016
采纳率:0%
帮助的人:1160万
展开全部
额,你有断点调试过吗?
看看每次读取的时候,dt,dr,data取了什么值,是否有值。
索引超出界限,删除却可用,要么是dr没有3个,要么是data没有3个,你的txt内的文本格式正确么?你试着只删除dr[2] = data[2]看看。
当没有数据的时候,是否能出现三列空白列?
和.net的版本应该是没关系的3.5也不低了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rivorse
2012-10-06 · 超过28用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:69.7万
展开全部
你的datagridview是不是没有添加列啊?
因为dr[1]是指datagridview的一行中的第二列,而dr[1] = data[1];是把data[1]的值给某一行的第二个格子!
追问
应该不是 我用ReadToEnd方法时候是可以讲第一行全部显示出来的并将其分成了三列,但是那个方法我只会用它读一行。
追答
能不能先把你的界面图发一个上来?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ztqxk
2013-01-13
知道答主
回答量:1
采纳率:0%
帮助的人:1537
展开全部
string[] data = reader.ReadLine().Replace("----", "-").Split('-');
注意这一句:“----”这里你是不是4个“-”,这个是列之间的分隔符,你会不会是其他的呢?比如是4个空格“ ”
建议:最好不要用“-”来分隔,用其他的,比如“|”,因为如果用“-”,碰到负数就错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式