索引器类型 this[int index]
{
// get 访问器
get
{
// 返回 index 指定的值
}
// set 访问器
set
{
// 设置 index 指定的值
}
}
using System; namespace task.lmcjl.com { class Demo { static void Main(string[] args){ Demo names = new Demo(); names[0] = "C语言中文网"; names[1] = "http://task.lmcjl.com/"; names[2] = "C#教程"; names[3] = "索引器"; for ( int i = 0; i < Demo.size; i++ ){ Console.WriteLine(names[i]); } Console.ReadKey(); } static public int size = 10; private string[] namelist = new string[size]; public Demo(){ for (int i = 0; i < size; i++) namelist[i] = "NULL"; } public string this[int index]{ get{ string tmp; if( index >= 0 && index <= size-1 ){ tmp = namelist[index]; }else{ tmp = ""; } return ( tmp ); } set{ if( index >= 0 && index <= size-1 ){ namelist[index] = value; } } } } }运行结果如下:
C语言中文网
http://task.lmcjl.com/
C#教程
索引器
NULL
NULL
NULL
NULL
NULL
NULL
using System; namespace task.lmcjl.com { class Demo { static void Main(string[] args){ Demo names = new Demo(); names[0] = "C语言中文网"; names[1] = "http://task.lmcjl.com/"; names[2] = "C#教程"; names[3] = "索引器"; // 使用带有 int 参数的第一个索引器 for (int i = 0; i < Demo.size; i++){ Console.WriteLine(names[i]); } // 使用带有 string 参数的第二个索引器 Console.WriteLine("“C#教程”的索引为:{0}",names["C#教程"]); Console.ReadKey(); } static public int size = 10; private string[] namelist = new string[size]; public Demo(){ for (int i = 0; i < size; i++) namelist[i] = "NULL"; } public string this[int index]{ get{ string tmp; if( index >= 0 && index <= size-1 ){ tmp = namelist[index]; }else{ tmp = ""; } return ( tmp ); } set{ if( index >= 0 && index <= size-1 ){ namelist[index] = value; } } } public int this[string name]{ get{ int index = 0; while(index < size){ if(namelist[index] == name){ return index; } index++; } return index; } } } }运行结果如下:
C语言中文网
http://task.lmcjl.com/
C#教程
索引器
NULL
NULL
NULL
NULL
NULL
NULL
“C#教程”的索引为:2
本文链接:http://task.lmcjl.com/news/18344.html