this关键字

这里的 this 表示这是一个扩展方法,它扩展了 int[] 类型。这意味着:

  1. 扩展方法定义Ints 方法将作为 int[] 类型的扩展方法,可以被任何 int[] 实例调用。

  2. 调用方式

    • 可以像实例方法一样调用:myArray.Ints()

    • 也可以像普通静态方法调用:YourClass.Ints(myArray)

  3. 第一个参数this int[] ints 表示这个方法作用于 int[] 类型,并且 ints 是调用该方法的数组实例。

  4. 需要静态类:扩展方法必须在静态类中定义。

public static class ArrayExtensions
{
    public static int[] Ints(this int[] ints)
    {
        // 方法实现
        return ints;
    }
}
​
// 调用
int[] myArray = { 1, 2, 3 };
myArray.Ints(); // 像实例方法一样调用

如果没有 this 关键字,它就是一个普通的静态方法,必须像 ArrayExtensions.Ints(myArray) 这样调用。this 使得方法可以像实例方法一样调用,提供了更自然的语法。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐