Tag: C#的

C(或一般的程序编程)的devise原则,最佳实践和devise模式?

在deviseC项目时,有没有可以遵循的devise原则,最佳实践和devise模式? 或一般程序性(必要)编程的有用devise原则? (我是“面向对象代”的孩子,第一次必须devise一个大型的C项目)

什么是在Linux下的GCC使用std :: thread的正确链接选项?

您好我正在尝试使用G ++的std::thread 。 这是我的testing代码 #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } 它编译,但是当我尝试运行它的结果是: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted Aborted 我的编译器版本: $ g++ –version g++ (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for […]

'是'与尝试投与空检查

我注意到,Resharperbuild议我这样做: if (myObj.myProp is MyType) { … } 进入这个: var myObjRef = myObj.myProp as MyType; if (myObjRef != null) { … } 为什么会提出这种改变? 我已经习惯了Resharper提出的优化改变和代码缩减的改变,但是这感觉就像是想要把我的单一语句转换成双线程。 根据MSDN : 如果满足以下两个条件, 则 expression式的计算结果为true: expression式不为空。 expression式可以转换为types 。 也就是说,表单(type)(expression)强制转换(type)(expression)将会完成而不会引发exception。 我误读了,还是不是做了完全相同的检查,只是在一行中,而不需要显式创build另一个局部variables的空检查?

-D_XOPEN_SOURCE做什么/意思?

我最近遇到了一些gcc在没有这个arg的情况下不能编译的代码。 我检查了gcc手册页,但没有find这个特定的选项。 我确实find了XOPEN_SOURCE ,但是它没有什么解释。 有人可以详细说明吗? 我知道-D_XOPEN_SOURCE可以设置为不同的值,比如-D_XOPEN_SOURCE ,但是这些都是干什么的?

哪里可以find“Microsoft.VisualStudio.TestTools.UnitTesting”缺less的DLL?

我在我的C# visual studio project遇到以下错误: The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) 我也试图findmicrosoft.dll文件,但无法获得任何参考。 我search错误的dll ? 编辑: using Microsoft.VisualStudio.TestTools.UnitTesting; using Kya.MsFx.Services.Swiper; namespace Kya.MsFx.Devices.Swiper.Test { [TestClass] public class SwiperWindowTest { private SwiperWebServiceHost m_SwiperWS = null; /// <summary> /// start web service on a separate thread, so […]

C ++exception问题重新抛出原始exception

catch中的append()是否会导致重新抛出的exception,以查看append()被调用的效果? try { mayThrowMyErr(); } catch (myErr &err) { err.append("Add to my message here"); throw; // Does the rethrow exception reflect the call to append()? } 同样,如果我用这种方法重写它,如果实际的exception是由myErr派生的,会不会发生位切片? try { mayThrowObjectDerivedFromMyErr(); } catch (myErr &err) { err.append("Add to my message's base class here"); throw err; // Do I lose the derived class exception and only get […]

WCF反序列化如何在不调用构造函数的情况下实例化对象?

WCF反序列化有一些魔力。 它如何在不调用其构造函数的情况下实例化数据协定types的实例? 例如,考虑这个数据合同: [DataContract] public sealed class CreateMe { [DataMember] private readonly string _name; [DataMember] private readonly int _age; private readonly bool _wasConstructorCalled; public CreateMe() { _wasConstructorCalled = true; } // … other members here } 通过DataContractSerializer获取此对象的实例时,您将看到_wasConstructorCalled字段为false 。 那么,WCF如何做到这一点? 这是别人可以使用的技术,还是隐藏起来的?

C中的默认枚举值对所有编译器都是一样的吗?

当声明如下所示的枚举时,是否所有的C编译器在Linux和Windows系统上都将默认值设置为x=0 , y=1和z=2 ? typedef enum { x, y, z } someName;

可以永远不会被执行的代码调用未定义的行为吗?

调用未定义行为的代码(在这个例子中,除以零)永远不会被执行,程序仍然是未定义的行为? int main(void) { int i; if(0) { i = 1/0; } return 0; } 我认为这仍然是不确定的行为,但我无法在标准中find支持或否认我的任何证据。 那么,有什么想法?

在.csproj文件中,<None Include =“…”>代表什么?

怎么 <None Include="C:\foo.bar" /> 不同于 <Content Include="C:\foo.bar" /> ?