Tag: C#的

用epsilon比较double和zero

今天,我正在浏览一些C ++代码(由其他人编写),并发现这一部分: double someValue = … if (someValue < std::numeric_limits<double>::epsilon() && someValue > -std::numeric_limits<double>::epsilon()) { someValue = 0.0; } 我试图弄清楚这是否有道理。 epsilon()的文档说: 该函数返回1和最大值之间的差值,大于1,可以用[double]表示。 这是否也适用于0,即epsilon()是大于0的最小值? 或者有0和0 + epsilon之间的数字0 + epsilon可以用double来表示吗? 如果不是,那么是不是相当于someValue == 0.0的比较?

LINQ查询返回一个Dictionary <string,string>

我有一个MyClass的集合,我想查询使用LINQ获取不同的值,并得到一个字典<string,string>作为结果,但我不知道我怎么能做到这一点比我更简单在下面做。 我可以使用什么更干净的代码来获得Dictionary <string,string>作为我的结果? var desiredResults = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); var queryResults = (from MyClass mc in myClassCollection orderby bp.SomePropToSortOn select new KeyValuePair<string, string>(mc.KeyProp, mc.ValueProp)).Distinct(); foreach (var item in queryResults) { desiredResults.Add(item.Key.ToString(), item.Value.ToString()); }

如何在Visual Studio中debugging单个线程?

我有一些项目的解决scheme。 在不同的项目中有几个突破点。 我想跟踪第一个线程碰到这些断点之一,并继续跟踪那个单线程,尽pipe其他线程进入相同的代码块。 我知道这是可能的通过定义一个条件的断点,即线程名称= …或线程Id = …但我的情况是一个沉重的ASP.NET应用程序,只要我附加到w3wp.exe很multithreading都会打到断点。 我需要一些像ThreadLocal<break-point> 。 可能吗? 如果是这样,怎么样?

Web应用程序项目configuration为使用IIS。 无法findWeb服务器。

当我打开解决scheme时,我的解决scheme文件中有一个Web项目“不可用”。 当我右键单击Web项目并重新加载项目时,出现以下错误: The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found. 我没有为这个Web应用程序手动设置虚拟目录。 每个同事,Visual Studio应该提示我创build虚拟目录,但我没有得到提示。 在我的开发机器上安装IIS之前,我安装了VS2010。 这是我的开发机器设置: Windows 7企业版 Service Pack 1 64位操作系统 Visual Studio 2010企业服务包1 IIS版本7.5

现代C ++可以免费获得你的performance吗?

有时声称,即使仅仅编译C ++ 98代码,C ++ 11/14也可以提高性能。 理由通常是沿着移动语义的线,因为在某些情况下,右值构造函数是自动生成的或现在是STL的一部分。 现在我想知道这些情况以前是否已经由RVO或类似的编译器优化处理过。 我的问题是,如果你能给我一个C ++ 98代码的实例,不加修改,使用支持新语言function的编译器运行得更快。 我明白一个标准的编译器不需要做copy copy,因此移动语义可能会带来速度,但是如果你愿意的话,我希望看到一个较less的病态的情况。 编辑:只是要清楚,我不问新的编译器是否比旧的编译器更快,而是如果有代码,将-std = c ++ 14添加到我的编译器标志将会运行得更快(避免副本,但如果你除了移动语义之外还能想出其他的东西,我也会感兴趣的)

把最胖的人从一架超载的飞机上抛下。

假设你有一架飞机,而且燃油很低。 除非飞机降低了3000磅的乘客重量,否则将无法到达下一个机场。 为了节省最多的生命,我们首先要把最重的人从飞机上抛下。 噢,飞机上有数百万人,我们希望有一个最佳的algorithm来find最重的乘客,而不必对整个列表进行sorting。 这是我试图用C ++编码的代理问题。 我想按重量对乘客舱单做一个“partial_sort”,但是我不知道我需要多less元素。 我可以实现我自己的“partial_sort”algorithm(“partial_sort_accumulate_until”),但我想知道是否有更简单的方法来使用标准的STL来做到这一点。

如何绑定到MVVM中的密码框

我遇到了绑定到密码框的问题。 这似乎是一个安全风险,但我使用MVVM模式,所以我想绕过这一点。 我在这里find了一些有趣的代码(有没有人使用过这个或类似的东西?) http://www.wpftutorial.net/PasswordBox.html 它在技术上看起来不错,但我不确定如何检索密码。 我基本上在我的LoginViewModel Username和Password属性。 Username很好,正在工作,因为它是一个TextBox 。 我使用上面的代码,并input这个 <PasswordBox ff:PasswordHelper.Attach="True" ff:PasswordHelper.Password="{Binding Path=Password}" Width="130"/> 当我把PasswordBox作为一个TextBox和Binding Path=Password ,我的LoginViewModel的属性被更新了。 我的代码很简单,基本上我有一个Command我的Button 。 当我按下它时, CanLogin被调用,如果返回true,它会调用Login 。 你可以看到我检查我的财产的Username在这里工作很好。 在Login我发送给我的服务的Username和Password , Username包含我的View数据但Password为Null|Empty private DelegateCommand loginCommand; public string Username { get; set; } public string Password { get; set; } public ICommand LoginCommand { get { if (loginCommand == null) { […]

我如何在vim中自动格式化/缩进C代码?

当我从另一个文件复制代码时,格式化会搞砸,如下所示: fun() { for(…) { for(…) { if(…) { } } } } 我怎样才能自动在vim这个代码?

是断言邪恶?

Go语言创build者写道 : Go没有提供断言。 它们不可否认方便,但我们的经验是,程序员使用它们作为拐杖,以避免考虑正确的error handling和报告。 正确的error handling意味着服务器在非致命错误而不是崩溃之后继续运行。 适当的错误报告意味着错误是直接的,并且重点在于,使程序员不必解释大的崩溃痕迹。 当程序员看到错误不熟悉代码时,精确的错误是特别重要的。 你对此有何看法?

如何将课程标记为已弃用?

可能重复: 如何将方法标记为已过时/已弃用? – C# 你如何标记一个类已过时? 我不想在我的项目中再使用一个类,但不想在两周之前删除它。