如何使用C#和.NET 3.5/4优雅地完成这项工作?
例如,数字可以在1到100之间.
我知道一个简单的就足够了; 但这个问题的关键词是优雅.这是我的玩具项目不是为了生产.
这个问题不是关于速度,而是关于代码美.停止谈论效率等等; 记住你正在向合唱团讲道.
以下适用于IEnumerable类型,但有没有办法得到这样的东西使用IQueryable类型对sql数据库?
class Program
{
    static void Main(string[] args)
    {
        var items = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, };
        foreach (var item in items.Where(i => i.Between(2, 6)))
            Console.WriteLine(item);
    }
}
static class Ext
{
   public static bool Between<T>(this T source, T low, T high) where T : IComparable
   {
       return source.CompareTo(low) >= 0 && source.CompareTo(high) <= 0;
   }
}
我想问一个在C#中比我有更强技能的人.
是否可以减少以下代码
if(val > 20 && val < 40 )
...
else
if(val > 40 && val < 72 )
...
else
if(val > 72 && val < 88 )
...
else
...
我们假设我有10-11个if-else语句.
缩短上述代码的最佳方法是什么?
我想像between在sql 中的东西.
只是一个基本的if陈述,试图让它更简单,更容易阅读.现在它的内容如下:
  if ( myid == 1 || myid ==2 || myid == 10 || myid == 11 || myid == 12 || myid == 13 || myid ==14 || myid ==15)
  {
    ...
  }
int[] ints = [1,2,10,11,12,13,14,15]那时我正在想类似的东西
  if (ints.Contains(myid))
  {
  }
我实际上并不知道这是否真的更容易阅读,它肯定更短,两者的性能差异可能微不足道.
在我正在进行的一个项目中,我需要检查一个值是否介于可被12整除的数字和可被12 + 5整除的数字之间.
 if (Number >= 0 && Number <= 5) {
            value = 0;
 } else if (Number >= 12 && Number <= 17) {
            value = 12;
 } else if (Number >= 24 && Number <= 29) {
            value = 24;
 }
 // etc...
上面的代码工作得很好,但我觉得它可以减少.有没有人有另一种方式来实现我的目标,但更优雅?
鉴于a DateTime,我想检查.Day一个数字是否介于15和19之间.
因此9/16/2013通过,但9/20/2013失败.
谢谢,
是否有更简单或替代的方法来编写以下 C# 句子?
if (iValue >= 4 && iValue <= 10) {... other code ...}
我需要重复iValue两次吗?
我见过类似的结构,_ = ...some code...  但我不熟悉那个前导下划线?