2023-10-04
自我提升
0

利用索引器取值 赋值
案例1

c#
// 创建Test.cs 类 class Test { public string this[int index] { get { Console.WriteLine([index]); return 100; } set { Console.WriteLine([index]); Console.WriteLine(value); } } }
c#
//使用 Program.cs Test t = new Test(); t[9] = 200; Console.WriteLine(t[9]);

案例2

c#
// 创建Test.cs 类 class Test { private string[] name = new string[10]; public string this[int index] { get { return name[index]; } set { name[index] = value; } } }
c#
//使用 Program.cs Test t = new Test(); t[0] = "张三"; t[1] = "李四"; //赋值 Console.WriteLine(t[0]); Console.WriteLine(t[1]); //取值

案例3

c#
// 创建Week.cs 类 class Week { private string[] days = { "Mon", "Tues", "Wed", "Thu", "Fri", "Sat", "Sun" }; // public int GetDay(string day) //传递英文返回数值 private int GetDay(string day) //使用方法2索引时,需将public改为private { int i = 0; //开始传递 foreach(string temp in days) { if (temp == day) return i+1; //找到索引 i++; } return -1; } public int this[string day] { get { return GetDay(day); //调用上面的方法 } } }
c#
//使用 Program.cs //方法1 Week w = new Week(); Console.WriteLine(w.GetDay("Thu")); //方法2 Console.WriteLine(w["Sat"]);