Tag: C#的

是否有一个C ++的LINQ库?

是否有任何平台不可知论(而不是CLI)的运动来获得LINQ以某种方式去C ++? 我的意思是世界各地的UNIX服务器框架的很大一部分运行在UNIX上,并且在UNIX上可以访问LINQ for C ++可能会使很多人感到高兴!

如何使用TeamCity进行构build后部署?

我将TeamCity设置为我的构build服务器。 我有我的项目设置,它正在从颠覆正确更新,并build立好。 下一个是什么? 理想情况下,我希望将其自动部署到testing服务器,并手动部署到活动/临时服务器。 最好的办法是什么呢? 由于我使用C#/ ASP.Net,我应该添加一个Web部署项目到我的解决scheme?

内联还有用吗?

我相信, inline已经过时了,因为我在这里读到: 无论你如何将函数指定为inline ,编译器都可以忽略这个请求:编译器可能会内联展开一些全部或者没有inline 。 然而, Angew似乎明白我不知道的事情。 在这个问题上,他和我之间来回转换,关于inline是否仍然有用。 这个问题不是一个问题: inline或inline的历史用法仍然可以用于暗示编译器inline函数: 何时应该为函数/方法编写关键字“内联”? 。 内联函数代码的好处或缺点: C ++中内联函数的好处? 强制编译器inline函数代码: 在其他翻译单元中强制内联函数 请记住,编译器可以随意inline ,因此inline inline在这里没有帮助: inline可以用来强制编译代码中的更改, 而不是build议更改。

为什么C#在两个int数组语法中行为不同

C#中的数组是隐式引用types上的协variables : object[] listString = new string[] { "string1", "string2" }; 但不是值types,所以如果你改变string为int ,你会得到编译错误: object[] listInt = new int[] {0, 1}; // compile error 现在,关心的是当你声明int数组就像下面的两个语法没有明确声明inttypes,只是区分new[] ,编译器会以不同的方式处理: object[] list1 = { 0, 1 }; //compile successfully object[] list2 = new[] {0, 1}; //compile error 你将得到object[] list1 = { 0, 1 }; 编译成功,但是object[] list2= new[] {0, 1}; 编译错误。 […]

为什么arrays不能被修剪?

在MSDN文档站点上,它提到有关Array.Resize方法的以下内容: 如果newSize大于旧数组的长度,则分配一个新数组,并将所有元素从旧数组复制到新数组。 如果newSize小于旧数组的长度,则分配一个新数组,并将元素从旧数组复制到新数组,直到新数组被填充; 旧数组中的其余元素将被忽略。 数组是一系列相邻的内存块。 如果我们需要一个更大的数组,我知道我们不能增加内存,因为它旁边的内存可能已经被其他一些数据所占用。 所以我们不得不要求所有更大尺寸的相邻存储块的新序列,复制我们的入口并删除旧空间的声明。 但为什么创build一个更小的新arrays? 为什么数组不能删除它的最后一个内存块的声明? 那么这将是一个O(1)操作,而不是O(n),就像现在一样。 这与数据在计算机体系结构或物理层面上的组织方式有关吗?

Visual Studio警告级别的含义?

在Web应用程序项目的构build选项卡上,我有一个名为“警告级别”的设置。 我可以设置从0到4的值。这些值是什么意思? 值0会更严格,会产生更多的警告,反之亦然? 我还没有find任何文件,但也许我看错了地方。

在Qt,QtCreator和QMake中configurationGCC编译器

我最近尝试在Windows 7(64位)上使用Qt Creator 1.3.2,Qt 4.6.2和GCC 4.4.0(32位版本),使用一些实验性的C ++ 0x扩展编译应用程序,遇到以下(致命)错误: 这个文件需要编译器和库支持即将到来的ISO C ++标准C ++ 0x。 此支持目前是实验性的,必须使用-std = c ++ 0x或-std = gnu ++ 0x编译器选项启用。 在我的解决scheme中,我遇到了线程qmake和编译器标志? ,并将以下内容添加到.pro文件中: CXXFLAGS += -std=c++0x 但是这似乎没有什么区别。 所以,我期望有一些标签需要添加到.pro(project)文件中,但是从来没有和Qt,QMake和QtCreator中的GCC编译器混在一起,而且我不确定正确的调用/咒语。 所以,我的问题是,如何在使用QtCreator,QMake和Qt时设置GCC编译器开关?

析构函数在从构造函数中抛出后调用

我曾经认为在C ++中,如果一个构造函数抛出一个exception,那么这个“部分构造”类的析构函数就不会被调用。 但似乎在C ++ 11中是不正确的:我用g ++编译了下面的代码,并在控制台上输出“ X destructor ”。 为什么是这样? #include <exception> #include <iostream> #include <stdexcept> using namespace std; class X { public: X() : X(10) { throw runtime_error("Exception thrown in X::X()"); } X(int a) { cout << "X::X(" << a << ")" << endl; } ~X() { cout << "X destructor" << endl; } […]

在Android上启用C ++ 11支持

我如何将C ++ 11集成到Android?

expression式<Func <>>和Func <>之间的区别

例如,为什么大多数LINQ操作符接受Expression<Func<TSource>>及其等价的Func<TSource> ? 使用genericsExpression类而不是直接使用lambda语法的好处/原因是什么?