我是初学c#,有个问题向高手们请教!

[复制链接]
查看11 | 回复5 | 2011-10-8 08:40:05 | 显示全部楼层 |阅读模式
你这两个都有问题,字符串是引用传递,你只要把值取出来修改,原数组值就会改变。所以不需要重新赋值。你的循环会把str的值改了。。。再循环就不是他本身了...
回复

使用道具 举报

千问 | 2011-10-8 08:40:05 | 显示全部楼层
你两个都是不对的!这是肯定的!我也做了测试通过不了的...
回复

使用道具 举报

千问 | 2011-10-8 08:40:05 | 显示全部楼层
不可能吧,看你上面的两种方法应该效果都一样吧!执行 str=s.splits('|');后,str数组变成了str[0]=某人str[1]=18str[2]=95 第一次输出正常!第二次哪里有 1 2啊?简单的重新定义个数组来 str1=s.splits('|');...
回复

使用道具 举报

千问 | 2011-10-8 08:40:05 | 显示全部楼层
一般情况下,提示索引值超出范围是指,你指定的那个去接收结果的变量,不够大已经超出了那个接受结果的变量的最大范围,例如,你这里的string S去接受一个字符串组的值,一定会是溢出的,你需要定义string [] S去接受结果值。S.splits('|')是根据只要有“|” 他就分裂出来。需要足够大的空间...
回复

使用道具 举报

千问 | 2011-10-8 08:40:05 | 显示全部楼层
你的str用来存放数组“某人|18|95,某人|16|98,某人|19|86”。在对str数组的循环体内却改变了str数组,被改为“某人,18,95”,是错误的。应重新定义一个数组用于输出。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行