Tag: C#的

Invoke和DynamicInvoke之间的区别

代表中的Invoke和DynamicInvoke之间有什么区别? 请给我一些解释这两种方法之间差异的代码示例。

GCC是否有编译提示强制分支预测总是以某种方式?

对于Intel体系结构,是否有办法指示GCC编译器生成代码,这些代码始终会在代码中以特定方式强制执行分支预测? 英特尔硬件是否支持这个? 其他编译器或硬件呢? 我会在C ++代码中使用它,我知道我希望快速运行的情况下,而不必关心其他分支即使最近采取该分支时需要采取的减速。 for (;;) { if (normal) { // How to tell compiler to always branch predict true value? doSomethingNormal(); } else { exceptionalCase(); } } 作为Evdzhan Mustafa的后续问题,提示只是第一次指出处理器遇到该指令时的提示,所有后续的分支预测,function是否正常?

C编译器的Windows?

我很好,在Linux上使用gcc作为我的C编译器,但想要一个Windows解决scheme。 有任何想法吗? 我从Bloodshhed看Dev-C ++,但是寻找更多的select。

如何将两个IEnumerable <T>连接成一个新的IEnumerable <T>?

我有两个IEnumerable<T>实例(与T相同)。 我想要一个IEnumerable<T>的新实例,它是两者的连接。 在.Net中是否有一个内置的方法,或者我必须自己写?

指针,智能指针或共享指针?

我正在用普通的指针进行编程,但是我听说过像Boost这样的实现智能指针的库。 我也看到,在Ogre3D渲染引擎中有一个共享指针的深度使用。 这三者之间究竟有什么区别,我应该坚持只使用它们的一种?

我可以使用reflection更改C#中的私有只读字段吗?

我想知道,因为很多事情可以使用reflection来完成,我可以在构造函数完成执行后更改私有只读字段吗? (注意:只是好奇) public class Foo { private readonly int bar; public Foo(int num) { bar = num; } public int GetBar() { return bar; } } Foo foo = new Foo(123); Console.WriteLine(foo.GetBar()); // display 123 // reflection code here… Console.WriteLine(foo.GetBar()); // display 456

可以指向基点指向派生对象的数组?

我今天去面试了,给了这个有趣的问题。 除了内存泄漏和事实没有虚拟Dtor,为什么这个代码崩溃? #include <iostream> //besides the obvious mem leak, why does this code crash? class Shape { public: virtual void draw() const = 0; }; class Circle : public Shape { public: virtual void draw() const { } int radius; }; class Rectangle : public Shape { public: virtual void draw() const { } int […]

Enumerable.Empty <T>()等价于IQueryable

当一个方法返回IEnumerable<T>而我没有任何东西要返回时,我们可以使用Enumerable.Empty<T>() 。 对于返回IQueryable<T>的方法是否有与上述等价的方法

错误:'NULL'没有在这个范围内声明

在gcc 4.3上编译C ++时,我得到这个消息 error: 'NULL' was not declared in this scope 它出现和消失,我不知道为什么。 为什么? 谢谢。

如何检查一个appSettings键是否存在?

如何检查应用程序设置是否可用? 即app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key ="someKey" value="someValue"/> </appSettings> </configuration> 并在代码文件中 if (ConfigurationManager.AppSettings.ContainsKey("someKey")) { // Do Something }else{ // Do Something Else }