C# 方法中的this参数

public static class TestThis{ public static void Foo(this string s) { Console.WriteLine("Foo to{0}",s); } } 为什么这里会有一个this关键字,做什么用?其实这就是扩展方法!这个扩展方法在静态类中声明,定义一个静态方法,其中第一个参数定义可它的扩展类型。Foo()方法扩展了String类,因为它的第一个参数定义了String类型,为了区分扩展方法和一般的静态方法,扩展方法还需要给第一个参数使用this关键字。 现在就可以使用带string类型的Foo方法了: string s="Hello"; s.Foo(); 结果在控制台上显示Foo to Hello ,因为Hello是传送给Foo方法的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#,this关键字是一个指向当前对象的引用,也可以用于访问当前对象的成员。 this关键字可以用于以下情况: 1. 区分局部变量和成员变量:如果在方法使用了一个与成员变量同名的局部变量,那么我们可以使用this关键字来访问成员变量。例如: ``` public class Person { private string _name; public void SetName(string name) { this._name = name; // 使用this关键字访问成员变量 } } ``` 2. 在构造函数访问其他构造函数:如果一个类有多个构造函数,我们可以使用this关键字在一个构造函数调用其他构造函数。例如: ``` public class Person { private string _name; private int _age; public Person(string name) : this(name, 0) // 调用另一个构造函数 { } public Person(string name, int age) { this._name = name; this._age = age; } } ``` 在这个例子,第一个构造函数使用this关键字调用第二个构造函数,并将age参数设为默认值0。 3. 作为返回值返回当前对象:如果一个方法返回当前对象,我们可以使用this关键字来返回当前对象。例如: ``` public class Person { private string _name; private int _age; public Person SetName(string name) { this._name = name; return this; // 返回当前对象 } public Person SetAge(int age) { this._age = age; return this; // 返回当前对象 } } ``` 在这个例子,SetName和SetAge方法都返回当前对象,这样我们可以使用方法链来设置多个属性。 使用this关键字可以让我们更方便地访问当前对象的成员,提高代码的可读性和可维护性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值