在c#中,定义纯方法的规则是什么?
例如,矩形的这种简单扩展方法是纯的吗 若否,原因为何? 如果是,为什么在c#中,定义纯方法的规则是什么?,c#,c#-4.0,xna,C#,C# 4.0,Xna,例如,矩形的这种简单扩展方法是纯的吗 若否,原因为何? 如果是,为什么 [Pure] public static Rectangle InflateCopy(this Rectangle r, float horizontal, float vertical) { r.X -= (int)horizontalAmount; r.Y -= (int)verticalAmount; r.Width += (int)horizon
[Pure]
public static Rectangle InflateCopy(this Rectangle r, float horizontal, float vertical)
{
r.X -= (int)horizontalAmount;
r.Y -= (int)verticalAmount;
r.Width += (int)horizontalAmount*2;
r.Height += (int)verticalAmount*2;
return r;
}
根据:
在计算机编程中,如果以下两种关于函数的陈述都成立,则函数可被视为纯函数:
Rectangle
是一个struct
,那么即使该方法似乎在更改矩形,它也只是更改它自己的私有副本,因此您不会看到该方法的任何明显副作用