this关键字&Base关键字的使用

本文详细介绍了C#编程中This和Base关键字的使用。This关键字主要用于指代当前对象实例,传递对象给方法,声明索引器以及作为扩展方法的第一个参数修饰符。例如在构造函数中,This用于初始化成员变量。Base关键字则用于调用父类的构造函数,确保继承链上的初始化顺序。通过示例展示了如何在子类中使用Base调用特定的父类构造函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

this关键字&Base关键字的使用:

this关键字:
1.用于什么场景:
【1】指代类的当前实例
【2】将对象作为参数传递给方法
【3】声明索引器
【4】扩展方法的第一个参数的修饰符
2.实际使用案例:
【1】指代当前实例对象:
某一个类的构造函数:“

 public class Emploee
    {
        public string name;
        public int age;
        public string address;
        public Emploee(string name,int age,string adderss) {
            this.name = name;
            this.age = age;
            this.address = adderss;
        }
    }

【2】将对象作为参数传递给方法

 public class Emploee
    {
        public string name;
        public int age;
        public string address;
        public Emploee(string name,int age,string adderss) {
            this.name = name;
            this.age = age;
            this.address = adderss;
        }
        public void Call() {
            Temp.Example(this);
        }
    }
    class Temp {
        public static void Example(Emploee e) { 
        
        }
    }

【3】声明索引器
什么是索引器:
在这里插入图片描述
定义一个索引器

  public class Emploee
    {
        public string name;
        public string hobb;
        public string address;
        public string this[int index]
        {
            set
            {
                switch (index)
                {
                    case 0:
                        name = value;
                        break;
                    case 1:
                        hobb = value;
                        break;
                    case 2:
                        address = value;
                        break;
                }
            }
            get
            {
                switch (index)
                {
                    case 0: return name;
                    case 1: return hobb;
                    case 2: return name;
                    default:
                        throw new Exception("No!");
                }
            }
        }

这样就实现了一个简单的索引器,这样就可以像数组一样访问我们的对象,当然我们也可以使用不同的参数作为我们的索引
【4】扩展方法的第一个参数的修饰符
比如说我们自己实现一个List的扩展方法:

   public static List<Emploee> MyWhere(this List<Emploee> resource, Func<Emploee, bool> func)
        {
            var list = new List<Emploee>();
            foreach (var item in resource)
            {
                if (func.Invoke(item))
                {
                    list.Add(item);
                }
            }
            return list;
        }

我们在调用的时候无需传递第一个参数:

   List<Emploee> emploees=  new List<Emploee>();
            emploees.MyWhere((x) => x.name=="xxx");

***Base关键字的使用;***、
1.使用场景:
【1】默认情况下子类调用父类的无参构造函数
【2】第一种方式使用base关键字指定使用哪一个基类构造函数
【3】this调用自身的构造函数,在必须初始化一些数据和不想让其他类调用的时候
2。简单的使用:

public class CtorExample
    {
        public CtorExample()
        {
        }
        public CtorExample(int cs)
        {
        }
    }
    class ChildClass : CtorExample
    {
        private ChildClass() : base(20)
        {
        }
    }

以上就是This关键字以及Base关键字的简单使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值