认真CS☀️this关键词、索引器

发布于:2022-12-20 ⋅ 阅读:(373) ⋅ 点赞:(0)

在这里插入图片描述 

 

using System;     //this关键字
class MyClass
{
    int val1 = 10;
    public int M(int val1)
    {
        return val1 > this.val1   //左边参数,右边实例!this关键词是对当前实例的引用!
            ? val1                 //this是对实例的引用,静态成员不是实例成员的一部分!所以M()不能为静态!所以要新建实例!
            : this.val1;
    }


}


class program
{
    static void Main()
    {
        MyClass a = new MyClass();
        Console.WriteLine("{0}",a.M(20));
    }

}

using System;   //索引器
class MyClass
{
     public int a;
     public int b;
     public int c;


    public int this[int x]
    {
        get
        {
            switch (x)
            {
                case 0:return a;
                case 1:return b;
                case 2:return c;
                default:
                    throw new ArgumentOutOfRangeException("请计算0-2");
            };
        }
        set
        {
            switch (x)
            {
                case 0: a = value;   //不能是x,只能是value!
                        break;
                case 1: b=value;
                    break;
                case 2: c=value;
                    break;
                default:
                    throw new ArgumentOutOfRangeException("请计算0-2");
            };
        }
    }
}


class program
{
    static void Main()
    {
        /*MyClass.a = 10;
        MyClass.b = 20;
        MyClass.c = 30;
        Console.WriteLine("{0}", MyClass.a);
        Console.WriteLine("{0}", MyClass.b);
        Console.WriteLine("{0}", MyClass.c);*/


        MyClass d = new MyClass();
        d[0] = 10;
        Console.WriteLine("{0}",d[0]);
    }
}

大家还有什么问题,欢迎在下方留言!


 

在这里插入图片描述


如果你有 技术的问题 或 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡

 

 


网站公告

今日签到

点亮在社区的每一天
去签到