怎么用=> C#中的运算符作为get访问器的返回值

时间:2016-10-09 15:39:00

标签: c# linq class lambda

我看到了C#的源代码,它在类

中使用了这种语法来获取访问器
public int _f;
public int f
{
    get {return _f;}
}

而不是

{return x;} 

我想知道c#have =>运算符用于简化

 => x;

int N = image1.rows + image2.rows;
int M = image1.cols+image2.cols;
warpPerspective(image1,result,H,cv::Size(N,M)); // Too big size.
cv::Mat half(result,cv::Rect(0,0,image2.rows,image2.cols));
result.copyTo(half);
namedWindow("Result",WINDOW_AUTOSIZE);
imshow( "Result", result);

如果是,那是什么预先要求?应该使用哪个c#版本和哪些名称空间?

感谢

2 个答案:

答案 0 :(得分:1)

现在,只要属性是只读的,避免括号:

,就可以这样做
public int MyProperty => 6;

该语言的第6版已经引入了这一点,因此 C#5 也不会有效。

对于setter来说,这将是 C#7 的新功能之一。

答案 1 :(得分:0)

这是C#6.0的新功能。你可以简单地写一下:

public int f => _f;

而不是

public int f
{
    get { return _f; }
}

请记住,只有属性是readonly(它只有get访问者)才有可能。当然,代替_f,您可以编写一个返回正确类型的表达式。