Tag: C#的

Xamarin与莫诺与Monodevelop

Xamarin和Mono之间有什么关系(他们是同一个产品)? Monodevelop IDE是否与Mono相关?

Java vs C#:有没有比较执行速度的研究?

拿出与基准和基准比较有关的所有明显的警告,是否有任何研究(一系列有据可查,无偏见的testing)来比较两种语言的平均执行速度? 谢谢

何时使用内存映射文件?

我有一个应用程序通过networking接收大量数据,并将这些数据写入磁盘。 一旦所有块都被接收到,它们就可以被解码/重新组合成它们实际表示的单个文件。 我想知道是否使用内存映射文件是有用的 – 首先将单个块写入磁盘,其次是单个文件,所有这些文件都解码。 我自己的感觉是,对于第二种情况可能是有用的,任何人都有这个想法吗? 编辑:这是一个C#应用程序,我只计划一个x64版本。 (所以遇到“最大的可疑空间”问题应该是不相关的)

ELMAH在哪里保存数据?

我刚刚安装ELMAH.MVC(更多信息在这里 ),想知道它的数据保存在哪里。 我读过,你可以select设置数据库的存储,但似乎默认安装使用“内存”? 它是如何工作的? 如果我回收应用程序池或IIS网站,我是否会丢失所有数据? 谢谢!

parsing二进制文件。 什么是现代的方式?

我有一个二进制文件,我知道一些布局。 例如让格式是这样的: 2个字节(无符号短整数) – 一个string的长度 5个字节(5个字符) – string – 一些id名字 4个字节(无符号整数) – 一个步幅 24个字节(6个浮点数 – 每个浮点数3个浮点数) – 浮点数据 该文件应该看起来像(为了可读性,我添加了空格): 5 hello 3 0.0 0.1 0.2 -0.3 -0.4 -0.5 这里5 – 是2个字节:0x05 0x00。 “你好” – 5字节等等。 现在我想读这个文件。 目前我这样做: 加载文件到ifstream 读取这个stream到char buffer[2] 将其转换为unsigned short: unsigned short len{ *((unsigned short*)buffer) }; 。 现在我有一个string的长度。 读一个stream来载入vector<char>并从这个向量创build一个std::string 。 现在我有stringID。 以相同的方式读取下4个字节并将它们转换为无符号整型。 现在我迈出了一大步。 […]

时间复杂度删除运营商

什么是delete[]运算符的时间复杂性 ? 我的意思是它是如何实现的 – 是否遍历数组中的所有元素并调用每个元素的析构函数? 这个操作符是否对原始types ( int等)和用户定义的types做同样的事情?

c ++exception类devise

对于一组exception类,一个好的devise是什么? 我看到围绕什么exception类应该和不应该做什么的各种东西,但不是一个简单的devise,易于使用和扩展,做这些事情。 exception类不应该抛出exception,因为这会直接导致进程终止,而没有任何logging错误的机会。 它需要能够得到一个用户友好的string,最好是本地化到他们的语言,所以如果它不能从错误中恢复,那么在应用程序终止之前有一些东西要告诉他们。 在堆栈展开时,需要添加信息,例如,如果xmlparsing器无法parsinginputstream,可以添加源文件或networking等。 exception处理程序需要轻松访问处理exception所需的信息 将格式化的exception信息写入日志文件(英文,所以在这里没有翻译)。 让1和4一起工作是我遇到的最大的问题,因为任何格式化和文件输出方法都可能失败。 编辑:所以看了几个类的exception类,并在尼尔链接到的问题,似乎是普遍的做法,完全忽略项目1(从而推动推荐),这似乎是一个相当糟糕的主意我。 无论如何,我想id也张贴我正在考虑使用的exception类。 class Exception : public std::exception { public: //enum for each exception type, which can also be used to determin //exception class, useful for logging or other localisation methods //for generating a message of some sort. enum ExceptionType { //shouldnt ever be thrown UNKNOWN_EXCEPTION = 0, […]

C#“是”运算符在.NET 4上的释放模式优化下受到影响吗?

下面是一个简单的testing夹具。 它在debugging版本中成功并在发布版本(VS2010,.NET4解决scheme,x64)中失败: [TestFixture] public sealed class Test { [Test] public void TestChecker() { var checker = new Checker(); Assert.That(checker.IsDateTime(DateTime.Now), Is.True); } } public class Checker { public bool IsDateTime(object o) { return o is DateTime; } } 看起来代码优化造成了一些破坏。 如果我在Release版本上禁用它,它也可以工作。 这令我感到困惑。 下面我使用ILDASM来反汇编这个版本的两个版本: debuggingIL: .method public hidebysig instance bool IsDateTime(object o) cil managed { // Code size […]

为什么C ++的朋友类只需要在其他命名空间中进行前向声明?

假设我有一个F类,它应该是类G (在全局命名空间)和C (在命名空间A )中的朋友。 要成为A::C朋友, F必须被转发声明。 对G朋友,没有F前向声明是必要的。 同样,类A::BF可以成为A::C朋友,无需前向声明 下面的代码演示了这一点,并用GCC 4.5,VC ++ 10和至less另外一个编译器编译。 class G { friend class F; int g; }; // without this forward declaration, F can't be friend to A::C class F; namespace A { class C { friend class ::F; friend class BF; int c; }; class BF { public: BF() { […]

xvalues,glvalues和prvalues的真实生活的例子?

我想知道是否有人能够说出或解释一些xvalues,glvalues和prvalues的真实生活的例子? 我读过类似的问题: 什么是右值,左值,左值,右值和左值? 但我不明白大家的意思。 任何人都可以解释在什么情况下,这些价值观是重要的,何时应该使用它们?