Tag: C#的

当不抛出exception时,是否尝试/捕获块会损害性能?

在与微软员工进行代码审查的过程中,我们遇到了try{}块中的大部分代码。 她和IT代表build议,这可能会影响代码的执行。 实际上,他们build议大部分的代码应该在try / catch块之外,只有重要的部分应该被检查。 微软员工补充说,即将发布的白皮书警告不正确的try / catch块。 我环顾四周,发现它可以影响优化 ,但似乎只适用于范围之间共享variables。 我并不是在询问代码的可维护性,甚至是处理正确的exception(这个代码无疑需要重新分解)。 我也不是指使用exception进行stream量控制,这在大多数情况下显然是错误的。 这些是重要的问题(有些更重要),但不是重点。 try / catch块在不抛出exception时如何影响性能? 编辑:我添加一个赏金。 有一些有趣的回应,但我想获得更多的意见。

从C ++方法调用Objective-C方法?

我有一个类( EAGLView )调用一个C++类的方法没有问题。 现在,问题是我需要在C++类中调用一个objective-C function [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer]; 我不能用C++语法来做。 我可以将这个Objective-C调用包装到同一个Objective-C类中,这个类首先调用C ++类,但是我需要以某种方式从C++调用这个方法,我不知道该怎么做。 我试图给EAGLView对象指向C ++方法,并在我的C++类头包括“ EAGLView.h ”,但我得到了3999错误.. 所以..我该怎么做呢? 一个例子会很好..我只find了纯C例子。

如何使用Visual C ++ 2010 Express编译64位应用程序?

有没有一种简单的方法来编译32位版本的Visual C ++ 2010 Express的64位应用程序? 什么configuration,如果有的话,是必要的?

C ++macros何时有益?

C预处理器有理由被C ++社区所担心和避免。 内嵌的函数,常量和模板通常是一个更安全,更优越的替代#define 。 以下macros: #define SUCCEEDED(hr) ((HRESULT)(hr) >= 0) 绝不会超越types安全: inline bool succeeded(int hr) { return hr >= 0; } 但是macros也有它们自己的位置,请列出您find的用于macros的用法,这是您在没有预处理器的情况下无法完成的。 请把每个用例分别放在一个单独的答案中,这样就可以对它进行投票,如果你知道如何在没有预先指出的情况下指出答案的评论如何得到答案之一。

在C#中命名的string格式

有没有什么办法来格式化string的名称,而不是在C#中的位置? 在Python中,我可以做这样的事情(从这里无耻地被盗): >>> print '%(language)s has %(#)03d quote types.' % \ {'language': "Python", "#": 2} Python has 002 quote types. 有没有办法在C#中做到这一点? 比如说: String.Format("{some_variable}: {some_other_variable}", …); 能够使用variables名称来做到这一点很好,但字典也是可以接受的。

如何将整数数组传递给ASP.NET Web API?

我有asp.net web apirest服务,我需要传递一个整数数组。 这怎么能在asp.net 4 web api中完成。 public IEnumerable<Category> GetCategories(int[] categoryIds){ // code to retrieve categories from database } url访问上述服务 /Categories?categoryids=1,2,3,4

如何从代码中获取当前方法的名称

我知道你可以做 this.GetType().FullName 编辑@Pasi Savolainen提供 要得到 My.Current.Class 但是,我可以打电话来得到什么 My.Current.Class.CurrentMethod

构造函数初始化 – 列表评估顺序

我有一个构造函数,需要一些参数。 我曾经假定他们是按照上面列出的顺序build造的,但是在一个案例中,看起来他们的build造方式是相反的,导致中止。 当我反驳了这个论点的时候,程序停止了中止。 这是我正在使用的语法的一个例子。 事情是,在这种情况下,a_需要在b_之前初始化。 你能保证施工的顺序吗? 例如 class A { public: A(OtherClass o, string x, int y) : a_(o), b_(a_, x, y) { } OtherClass a_; AnotherClass b_; };

锁如何工作?

我看到,为了使用不是线程安全的对象,我们用这样的一个锁来包装代码: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } 那么当多个线程访问相同的代码时会发生什么(让我们假设它正在ASP.NET Web应用程序中运行)。 他们排队吗? 如果是的话,他们会等多久? 由于使用锁,对性能的影响是什么?

C ++中的全局内存pipe理在堆栈还是堆?

如果我在C ++应用程序中全局声明一个数据结构,它会消耗堆栈内存还是堆内存? 例如 struct AAA { …/…/. ../../.. }arr[59652323];