我针对数组做了个索引器,(此程序是模仿arrylist的部分功能)
在main函数中访问时,为什么这样调用
box[0]=123;
Console.WriteLine(box[0]);//输出结果为空 ,高手注意这里
box.Add(123);
Console.WriteLine(box[0]);//输出结果为123,高手注意这里

程序如下,

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Gavin

    15人对此回答表示赞同

    简单说来,因为你在做 box[0]=123时,count并没有先加1,这样你的count一直是0,而索引器赋值的判断是要小于count的时候才能进行,不然返回的是null,所以你不能这样赋值。
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 大智

    11人对此回答表示赞同

    你赋值时条件不成立所致!
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 闲云

    1人对此回答表示赞同

    1. 应该把public object this[int i]中的两个if条件改为:
    if (i >= 0 && i <=this._count),就是在你的基础上,把小于this._count改为小于等于了。这是因为this.count初始化为0,0怎么能小于0能。所以第一个输出语句为null.
    2.虽然把上面的问题解决了,但我看出你的程序还是有问题的。你想,如果我一直用this[int i]来进行赋值,数组下标为1的时候,又不能赋值了。因为在this[int i]方法
    展开
    1
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部