一个非常短的C#函数。

    public static int SizeInBytes(this byte[] a)
    {
        return sizeof (int) + a.Length*sizeof (byte);
    }

“this”关键字在此功能中意味着什么?在C++中,此关键字的等效项是什么?此外,该函数试图精确计算什么?

最佳答案

它将方法标记为extension method

扩展方法允许您扩展任何类的功能,即使它是密封的。

例子:

公共(public)静态类StringExtensions
{
公共(public)静态 bool IsEmpty(此字符串s)
{
返回s == string.Empty;
}
}

请注意,正确的语法包括静态类中的静态方法,以及关键字的使用。

对于您的第二个问题,在C++中等效于 .....它等于。但是,C++不支持扩展方法,因此您将永远不会像提供的代码片段那样在C++中看到它。

10-08 13:43
查看更多