virtual:虚方法,当系统在执行时,遇到virtual定义的方法,那么它将不会执行,而是找该类或者父类中存在对该方法的重写(override)
sealed 是用来防止父类的方法被子类覆盖,如果父类的方法定义为sealed,那么子类的,而用sealed定义的类将不能被其他类继承
索引:
class Program { static void Main(string[] args) { Index ind = new Index(); int a; var val = ind[2]; Console.WriteLine(val); Console.ReadKey(); } private void test() { } } public class Index { private string[] names = { "gary", "daixu","feng" }; private double[] dimension = new double[3]; public Index() { dimension[0] = 1.0; dimension[1] = 2.2; dimension[2] = 3.5; } public double this[int i] { get { return dimension[i]; } } public double this[string name] { get { int i = 0; while (i < names.Length && name.ToLower() != names[i]) { i++; } return (i == names.Length) ? -1.0 : dimension[i]; } set { int i = 0; while (i < names.Length && name.ToLower() != names[i]) { i++; } if (i != names.Length) { dimension[i] = value; } } } }