文章目录
异常处理
Console.WriteLine("请输入数字");
try
{
int num = Convert.ToInt32(Console.ReadLine());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);//对于异常系统进行提示
}
Console.ReadKey();
索引器
允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于他们的访问采用参数。
索引器与数组的区别
1、索引器的索引值(Index)类型不限定为整数: 用来访问数组的索引值(Index)一定为整数,而索引器的索引值类型可以定义为其他类型。
2、索引器允许重载:一个类不限定为只能定义一个索引器,只要索引器的函数签名不同,就可以定义多个索引器,可以重载它的功能。
3、索引器不是一个变量:索引器没有直接定义数据存储的地方,而数组有。索引器具有Get和Set访问器。
索引器与属性的区别
1、索引器以函数签名方式 this 来标识,而属性采用名称来标识,名称可以任意
2、索引器可以重载,而属性不能重载。
3、索引器不能用static 来进行声明,而属性可以。索引器永远属于实例成员,因此不能声明为static。
索引器练习
class Program
{
static void Main(string[] args)
{
List<int> listInt = new List<int>();
Mylist mylist = new Mylist();//索引器
mylist.Add(1);
mylist.Add(2);
mylist.Add(3);
Console.ReadKey();
}
}
public class Mylist
{
List<int> list = new List<int>();
public int this[int index]//索引器
{
get { return list[index]; }
set { list[index] = value;}
}
public void Add(int num)
{
list.Add(num);
}
public override string ToString()
{
string str = "";
foreach (int num in list)
{
str += num;
}
return str;
}
}