C#中异常处理、索引器、静态与实例方法区别

异常处理

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;
    }
}

静态方法和实例方法区别

在这里插入图片描述

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值