关于索引器的问题
以下代码编译的时候为什么会出现
未将对象引用设置到对象的实例呢?
帮忙给解释下谢谢
using System;
class Average
{
private double _avg;
public double avg
{
set{_avg=value;}
get{return _avg;}
}
}
class IndexForAverage
{
Average [] avgs=new Average[4];
public double this[int year]
{
set
{
if(year <=0 || year> 4)
{
Console.WriteLine( "年级无效! ");
return ;
}
int index=year-1;
avgs[index].avg=value;
}
get
{
if(year <=0 || year> 4)
{
Console.WriteLine( "年级无效! ");
return -1;
}
int index=year-1;
return avgs[index].avg;
}
}
}
class TestIndex
{
public static void Main()
{
IndexForAverage ifa=new IndexForAverage();
ifa[1]=2.33;
ifa[2]=3.22;
Console.WriteLine(ifa[1].ToString());
}
}
------解决方案--------------------未赋值
------解决方案--------------------Average [] avgs=new Average[4];
构造函数里
for( int i=0 ; i <4 ; i++ )
{
avgs[i] = new Average();
}