要将整数保持在某个范围内,目前我正在做:
ő
是否有更清晰的方式进行绑定检查?
答案 0 :(得分:2)
对于紧凑性(虽然不是性能),你可以考虑这样的事情:
frame.X = Math.Min(Image.Width - frame.Width, Math.Max(0, frame.X));
frame.Y = Math.Min(Image.Height - frame.Height, Math.Max(0, frame.Y));
答案 1 :(得分:1)
如果您的目标是结构方法,则可以使用扩展方法
public static class IComparableExtensions
{
public static T Min<T>(this T a, T b) where T : IComparable<T>
{
return a.CompareTo(b) < 0 ? a : b;
}
public static T Max<T>(this T a, T b) where T : IComparable<T>
{
return a.CompareTo(b) > 0 ? a : b;
}
public static T Clip<T>(this T a, T Min, T Max) where T : IComparable<T>
{
return a.Max(Min).Min(Max);
}
}
考虑到检查。