首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 索引器的有关问题

2013-01-19 
c# 索引器的问题using Systemusing System.Collections.Genericusing System.Linqusing System.Textna

c# 索引器的问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test11
{
    class Ball
    {
        string[] winners;                              //定义奖励等级
        int [] prize;                                  //定义奖励金额
        int winner;                                    
        public Ball(int length)                         //定义构造函数                      
        {
            winners = new string[length];               //设置数组长度
            prize = new int [length];                   //设置数组长度
        }
        public string Winner                            //定义属性
        {
            set
            {
                winners[winner] = value;                //通过属性为winners数组元素赋值
            }
        }
        public int this[int index]                      //定义索引器
        {
            get
            {
                return prize[index];                    //通过索引器取值
            }
            set
            {
                prize[index] = Convert.ToInt16(value);  //通过索引器为prize数组元素设置值
                winner = index;


            }
        }
        static void Main(string[] args)
        {
            Ball ball = new Ball(3);                    //实例化类Ball的实例
            ball[0] = 3000;                             //设置奖励金额                     
            ball.Winner = "一等奖";                     //设置奖励等级
            ball[1] = 2000;                             //设置奖励金额
            ball.Winner = "二等奖";                     //设置奖励等级
            ball[2] = 1000;                             //设置奖励金额
            ball.Winner = "三等奖";                     //设置奖励等级
            for (int i = 0; i < 3; i++)                 //遍历输出奖励设置
            {
                Console.WriteLine("{0}  {1}元", ball.winners[i], ball[i]);
            }
                Console.ReadLine();
        }
    }
}
中的public string Winner 是不是漏了个s啊? 还有ball.Winner = "一等奖";ball.Winner = "二等奖";ball.Winner = "三等奖";也是不是漏了个s呢?如果不是,求大神们解释。还有 public string Winner 属性中不是只有写入功能的吗,怎么还能读的,Console.WriteLine("{0}  {1}元", ball.winners[i], ball[i]);
[解决办法]
没有 漏s,Winner 属性也没读。 类的成员 不要弄混了 

热点排行