小编Jes*_*cer的帖子

是否可以将(x == 0 || x == 1)简化为单个操作?

所以我试图在Fibonacci序列中尽可能紧凑地写出第n个数:

public uint fibn ( uint N ) 
{
   return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否可以通过改变来使其更加紧凑和高效

(N == 0 || N == 1)
Run Code Online (Sandbox Code Playgroud)

进入单一比较.是否有一些奇特的位移操作可以做到这一点?

c# algorithm optimization arithmetic-expressions

106
推荐指数
9
解决办法
1万
查看次数

Bundle Minification在发布WebForms App时不起作用

我正在尝试对一些.css和.js文件使用bundle minification.我的bundle配置如下:

public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/Modernizr").Include(
            "~/Scripts/modernizr.js"
        ));

        bundles.Add(new StyleBundle("~/TemplateContent").Include(
            "~/Content/bootstrap.css",
            "~/Content/bootstrap-responsive.css",
            "~/Content/prettyPhoto.css",
            "~/Content/prettify.css",
            "~/Content/flexslider.css",
            "~/Content/iview.css",
            "~/Content/style.css",
            "~/Content/default.css"
        ));

        bundles.Add(new StyleBundle("~/AppContent").Include(
            "~/Content/bootstrap-tablesorter.css",
            "~/Content/animate.css",
            "~/Content/font-awesome.css",
            "~/Content/jcarousel.css",
            "~/Conten/overwrite.css",
            "~/Content/sequence.css",
            "~/Content/sequence.ie.css",
            //more styles
        ));

        bundles.Add(new ScriptBundle("~/TemplateScripts").Include( 
            "~/Scripts/modernizr-*",
            "~/Scripts/jquery.js",
            "~/Scripts/raphael.js",
            "~/Scripts/jquery.easing.1.3.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/google-code-prettify/prettify.js",
            "~/Scripts/jquery.elastislide.js",
            "~/Scripts/jquery.tweet.js",
            "~/Scripts/jquery.prettyPhoto.js",
            "~/Scripts/jquery.flexslider.js",
            "~/Scripts/iview.js",
            "~/Scripts/jquery-hover-effect.js",
            "~/Scripts/animate.js",
            "~/Scripts/custom.js"
        ));

        bundles.Add(new ScriptBundle("~/AppScripts").Include(
            "~/Scripts/jquery.ticker.js",
            "~/Scripts/jquery.contenthover.js",
            "~/Scripts/jquery-ui-1.10.3.js",
            "~/Scripts/datetimepicker.js",
            "~/Scripts/jquery.metadata.js",
            //more scripts
        ));

        BundleTable.EnableOptimizations = true;
}
Run Code Online (Sandbox Code Playgroud)

当我将应用程序发布到服务器(godaddy共享虚拟主机)时,问题就出现了,我确实得到了一个缩小的输出,但是我在这些输出上得到403错误.

如果我订

BundleTable.EnableOptimizations = false;
Run Code Online (Sandbox Code Playgroud)

文件不会缩小,但页面具有正确的行为.

c# webforms bundling-and-minification

14
推荐指数
1
解决办法
9413
查看次数

为此结构实现GetHashCode的正确方法

我想使用日期范围(从一个日期到另一个日期)作为字典的键,所以我编写了自己的结构:

   struct DateRange
   {
      public DateTime Start;
      public DateTime End;

      public DateRange(DateTime start, DateTime end)
      {
         Start = start.Date;
         End = end.Date;
      }

      public override int GetHashCode()
      {
         // ???
      }
   }
Run Code Online (Sandbox Code Playgroud)

实现GetHashCode的最佳方法是什么,所以没有两个不同范围的对象会生成相同的哈希?我希望哈希冲突尽可能不可能,虽然我理解Dictionary <>仍将检查我将实现的相等运算符,但不想过多地污染示例代码.谢谢!

.net c# hash

12
推荐指数
4
解决办法
1万
查看次数

linq歧义在哪里和选择

今天我遇到了一个问题,LINQ对象(不是SQL)由于打字错误而弹出.我有.Select一个地方.Where,另一个地方.我期待相同的结果,但他们显示不同的数字.假设somelist有10个元素,所有元素都具有qty=0

//returns 10 - basically count of all rows. I am expecting 0
 somelist.Select(p => p.qty > 0).Count() 

//returns 0 - the correct count
 somelist.Where(p => p.qty > 0).Count() 
Run Code Online (Sandbox Code Playgroud)

如果两者都选择和返回IEnumerable<T>那么为什么模棱两可?谢谢.

c# linq vb.net lambda c#-4.0

8
推荐指数
1
解决办法
1358
查看次数

具有存储过程的数据集与实体框架

整个问题已被重写为更清楚..

新项目设计:

  1. Sql Server 2012
  2. Visual Studio 2012 .Net 4.5
  3. 业务逻辑将在存储过程中实现
  4. ASP.Net Webforms
  5. WCF SOAP XML Web Service使用DBA提供的存储过程与数据库进行通信
  6. 实体框架或数据集

在这里我可以使用数据集 - 没问题,但我想知道实体框架优于数据集的优势更详细的解释.我一直在阅读有关实体框架的文章,由于以下原因,我看到人们在使用EF over dataset方面有更好的经验.

我想知道在我的情况下,这些仍然是我可以使用EF获得的优势 - 数据库相关的操作总是使用存储过程完成:

  1. EF更清洁,更容易维护和编程.始终针对数据库执行针对EF ObjectContext的查询

  2. 因为对象和数据库之间的映射是以声明方式而不是代码中指定的,所以如果需要更改数据库模式,可以最大限度地减少对必须在应用程序中修改的代码的影响 - 因此系统提供了抽象有助于将应用程序与数据库隔离开来.因此,EF可以替换您自己必须编写和维护的大量代码.(如果存储过程设计已更改,该怎么办?)

  3. EF的具体结构是将查询/整形结果与构建对象和跟踪更改的映射过程分开.

  4. DataSets很糟糕,尤其是在WCF场景中(它们为处理内存数据操作增加了大量开销) - >意味着EF与WCF的性能更好?

.net entity-framework dataset strongly-typed-dataset visual-studio-2012

8
推荐指数
1
解决办法
1万
查看次数

WPF Boing演示需要生命支持

还记得Amiga boing演示吗?我正在读Amiga文章25周年,他们提到了这一点.带回了一些回忆.我记得一个WPF(当时称为Avalon)演示放在一起模仿它.我做了一些谷歌搜索,并在这里找到它.但是,当我尝试在VS 2010中构建(重新定位到CLR 4.0 Client Profile)时,XAML标记和代码隐藏充斥着错误似乎已经过时了.是否有任何能够并愿意将其带入这十年的WPF大师?这对我来说理解WPF/XAML堆栈有很长的路要走.谢谢!

编辑:我正在使用我刚才在这里找到的稍微更新的版本.

编辑第二个:我已经得到它编译并显示漂亮的渐变蓝色背景,但不是弹跳格仔球.问题是我找不到现代的等价物:

        <x:Include x:Content="{ball}" />
Run Code Online (Sandbox Code Playgroud)

wpf xaml amiga

5
推荐指数
1
解决办法
185
查看次数

比较两个不同LINQ语句的效率

我正在学习C#(C++中的背景),我对LINQ表达式有疑问.以下两个函数都做同样的事情(尽我所知).袋熊的类型是System.Data.Linq.Table<Wombat>.

我很想知道

  1. 哪个更有效率?
  2. 它甚至重要吗?
  3. 返回IQueryqble可以获得一些东西吗?
  4. 这里有一些礼仪更喜欢三个中的一个吗?

我的猜测是第二种效率更高,但除非袋熊桌上有数百万只袋熊,否则它并不重要.返回IQueryable并不重要,因为我们只返回一个袋熊.

提前致谢!

    public static DBConnector.Connections.Wombat getWombat(String wombatID)
    {
        var db = getDBInstance();
        return db.Wombats.FirstOrDefault(x => x.ID.ToString() == wombatID);
    }

    public static DBConnector.Connections.Wombat getWombat(String wombatID)
    {
        var db = getDBInstance();
        var guid = new System.Guid(wombatID);
        return db.Wombats.FirstOrDefault(x => x.ID == guid);
    }
Run Code Online (Sandbox Code Playgroud)

c# linq

5
推荐指数
2
解决办法
212
查看次数

在SharePoint中,问题列表的"问题ID"列如何包含在详细信息表单(DispForm.aspx)和/或警报电子邮件中?

我们基于SharePoint的模板创建了一个非常标准的问题跟踪系统,只需要几个额外的列.在列表视图(AllItems.aspx)上,第一列称为"问题ID"并具有数字.我们的开发人员和QC在讨论中使用该数字.但是,该数字似乎不想显示在详细信息表单(DispForm.aspx)上,也不显示在警报电子邮件中.

该字段是否可以包含在这些通信方法中的至少一种中?如果是这样,怎么样?

谢谢.

sharepoint sharepoint-2007

4
推荐指数
1
解决办法
2万
查看次数

有没有办法用NHibernate返回插入记录的主键?

好吧,这个问题有点惹恼了.我现在正在做这样的事情:

using (var session = _sessionFactory.OpenSession())
{
     using (var transaction = session.BeginTransaction())
     {
         Car newCar = new Car();
         newCar.name = "Jeep";

         session.Save(newCar);
         transaction.Commit();    
     }
}
Run Code Online (Sandbox Code Playgroud)

c# nhibernate

4
推荐指数
1
解决办法
2277
查看次数

如何在Lucene.Net.Linq中添加文档?

Lucene.Net.Linq项目似乎很强大,在查询时看起来很简单,我不太清楚如何添加/更新文档.可以提供一两个例子吗?

linq lucene.net lucene.net.linq

4
推荐指数
1
解决办法
2045
查看次数