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 属性也没读。 类的成员 不要弄混了