日期:2014-05-18  浏览次数:21078 次

in,between,and,or,C#轻松自定义语法糖
C# code

static void Main()
{
     int i = 3;
     double d = 2.3;
     if (i.In(2, 4, 5).And(d.Between(2.0, 5.3)).Or(i > d))
     MessageBox.Show("Hi!");
}

public static bool In<T>(this T value, params T[] values)
{
     return values.Contains(value);
}

public static bool Between<T>(this T i, T start, T end) where T : IComparable<T>
{
     return i.CompareTo(start) >= 0 && i.CompareTo(end) <= 0;
}

public static bool And(this bool left, bool right)
{
     return left && right;
}

public static bool Or(this bool left, bool right)
{
     return left || right;
}



------解决方案--------------------
嗯 玩的挺好!!
------解决方案--------------------
学习 & 做个记录
------解决方案--------------------
不错,这是理解LINQ的第一步啊
------解决方案--------------------
楼主V5,支持分享。
------解决方案--------------------
语法很漂亮!
------解决方案--------------------
楼主V5!
学习了
------解决方案--------------------
前两个不错,and or就不推荐了。
------解决方案--------------------
另外哦,扩展方法必须应该加上对null的判断。
------解决方案--------------------
支持,善用扩展方法,不要写成一行