Tag: C#的

为什么Math.Floor(Double)返回Doubletypes的值?

我需要从十进制或双精度获得左侧的整数值。 例如:我需要从4.6中获得值4。 我尝试使用Math.Floor函数,但它返回一个双精度值,例如:它从4.6返回4.0。 MSDN文档说,它返回一个整数值。 我在这里错过了什么? 或者有什么不同的方式来实现我在找什么? 谢谢。

Linq – SelectMany混乱

从我从SelectMany的文档中所理解的,可以用它来产生一个1-many关系的(扁平的)序列。 我有以下课程 public class Customer { public int Id { get; set; } public string Name { get; set; } } class Order { public int Id { get; set; } public int CustomerId { get; set; } public string Description { get; set; } } 然后我尝试使用查询expression式语法来使用它们 var customers = new Customer[] { new Customer() […]

lambda的返回types可以通过返回值推导出来,所以为什么不能使用函数呢?

#include <iostream> int main(){ auto lambda = [] { return 7; }; std::cout << lambda() << '\n'; } 这个程序编译和打印7。 lambda的返回types根据返回值7推导为整数types。 为什么普通函数不可能呢? #include <iostream> auto function(){ return 42; } int main(){ std::cout << function() << '\n'; } 错误:“函数”函数使用“自动”types说明符没有尾随返回types

为什么这个C ++程序非常快速?

我写了一个基准来比较Python,Ruby,JavaScript和C ++的不同解释器/编译器的性能。 正如所料,事实certificate,(优化后的)C ++击败了脚本语言,但是这样做的因素却非常高。 结果是: sven@jet:~/tmp/js$ time node bla.js # * JavaScript with node * 0 real 0m1.222s user 0m1.190s sys 0m0.015s sven@jet:~/tmp/js$ time ruby foo.rb # * Ruby * 0 real 0m52.428s user 0m52.395s sys 0m0.028s sven@jet:~/tmp/js$ time python blub.py # * Python with CPython * 0 real 1m16.480s user 1m16.371s sys 0m0.080s sven@jet:~/tmp/js$ […]

什么是.h.gch文件?

我最近有一个课程项目,我不得不使用G ++编写程序。 我使用了一个makefile,出于某种原因,偶尔会留下一个.h.gch文件。 有时候,这并不影响编译,但是每隔一段时间就会导致编译器针对已经修复或没有意义的问题发布错误。 我有两个问题: 1)什么是.h.gch文件,用于什么? 和 2)为什么在没有清理的时候会造成这样的问题? 谢谢您的帮助。

不能使用String.Empty作为可选参数的默认值

我正在阅读Bill Wagner的Effective C# 。 在项目14 – 最小化重复初始化逻辑 ,他显示了在构造函数中使用新的可选参数function的以下示例: public MyClass(int initialCount = 0, string name = "") 注意他用""而不是string.Empty 。 他评论说: 你会注意到[在上面的例子中]第二个构造函数指定name参数的默认值,而不是更习惯的string.Empty 。 这是因为string.Empty不是一个编译时常量。 它是一个在string类中定义的静态属性。 因为它不是一个编译常量,所以不能用它作为参数的默认值。 如果我们不能在所有情况下都使用string.Empty静态,那么这不就是它的目的吗? 我认为我们会用它来确保我们有一个与系统无关的方式来引用空string。 我的理解错了吗? 谢谢。 UPDATE 只是跟进评论。 根据MSDN: 每个可选参数都有一个默认值作为其定义的一部分。 如果没有为该参数发送参数,则使用默认值。 默认值必须是常量。 那么我们无法使用System.Environment.NewLine ,或者使用新实例化的对象作为默认值。 我还没有使用VS2010,这是令人失望的!

如何设置一个cron作业来每小时运行一个可执行文件?

我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件。 我以root身份login并键入crontab -e 然后我input以下内容并保存文件。 0 * * * * /path_to_executable 但是,cron作业不起作用。 我看到,当我键入/…path_to_executable我得到一个分段错误。 我只能从它所在的文件夹执行可执行文件。有没有办法解决这个问题?

无法加载DLL(无法find模块HRESULT:0x8007007E)

我有我需要在.NET 4.0应用程序中使用的非托pipeC ++ API代码的DLL库。 但是,我尝试加载我的DLL的每一个方法我得到一个错误: 无法加载DLL'MyOwn.dll':无法find指定的模块。 (从HRESULTexception:0x8007007E) 我已阅读并尝试在互联网上find的severa解决scheme。 什么都没有 我曾尝试使用以下方法: [DllImport("MyOwn.dll", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs((UnmanagedType.I4))] public static extern Int32 MyProIni(string DBname, string DBuser_pass, string WorkDirectory, ref StringBuilder ErrorMessage); 当我尝试按照这篇文章 ,当我运行这个例子(从下载的代码),它运行没有问题(所使用的DLL是在bin / debug文件夹) 我已经复制我的dll(以及它依赖的所有文件到我的bin文件夹中)。 我也试过这种方法,但得到了同样的错误: [DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")] [return: MarshalAs(UnmanagedType.I4)] public static extern int MyproIni(string DBname, string DBuser_pass, string WorkDirectory, ref StringBuilder ErrorMessage); 有什么build议么?

方法和select器有什么区别?

Objective-C中的方法,select器和消息之间的区别是什么?

单独项目中的MVC解决scheme中的Web API

我正在创build一个新的MVC4项目,研究使我相信从javascript到服务器端的通信现在可以通过web API框架而不是控制器动作来实现。 我的理解是否正确? 我假设我可以在Web API和MVC控制器之间共享我的所有属性等,所以对我来说这似乎不是一个巨大的改变。 当我设置应用程序时,我喜欢将组件分解到项目中。 我的计划是有一个MVC项目和一个Web API项目。 但是我遇到了问题。 例如,我已经结束了2个应用程序,单独的路由设置等。 所以我的问题是,在MVC应用程序中,应该将Web API框架放在同一个项目中,还是应该将Web API分离成一个自己的项目并解决问题?