48得票7回答
“Object has been disconnected or does not exist at the server”异常。

我需要在我的应用程序中使用跨应用程序域调用,但有时会出现RemotingException: 对象 '/2fa53226_da41_42ba_b185_ec7d9c454712/ygiw+xfegmkhdinj7g2kpkhc_7.rem' 已断开连接或不存在于服务器上。 目标...

48得票2回答
MarshalByRefObject特殊吗?

.NET有一个叫做远程处理(Remoting)的东西,可以在不同的应用程序域或甚至物理机器之间传递对象。我不完全明白这种魔法是如何实现的,因此提出了这个问题。 在远程处理中,有两种基本的传递对象的方法 - 要么将对象序列化(转换为一堆字节并在另一端重新构建),要么从MarshalByRefO...

47得票8回答
你曾经使用过ngen.exe吗?

这里有人用过ngen吗?在哪里使用?为什么要用它?有没有性能提升?什么时候和在什么情况下使用它是有意义的?

46得票2回答
Int32的GetHashCode()是如何实现的?

我已经四处寻找,但是找不到任何有用的东西。是否有人能够解决这个问题?

46得票5回答
为什么C#泛型不能像C++模板一样从一个泛型类型参数派生?

为什么C#泛型不能像C++模板一样从一个泛型类型参数派生?我知道这是不可能的,因为CLR不支持这个,但为什么呢? 我知道C++模板和C#泛型之间存在深刻的差异-前者是编译时实体,必须在编译期间解决,而后者是第一类运行时实体。 尽管如此,我仍然无法看出CLR设计人员为什么没有想出一种方案,最...

45得票3回答
在C++/CLI中,符号^有什么作用?

我正在阅读Ivor Horton的《Visual C++ 2008入门教程》,其中很多CLR示例都有这个main函数定义:int main(array<System::String ^> ^args) 我回到书的开头,一遍遍地翻页,想找到第一个使用这种形式的例子,并解释它的真正含义...

45得票6回答
C# 未初始化的变量是否危险?

我熟悉C#规范,第 5.3 节指出在使用变量之前必须对其进行赋值。 在 C 和非托管 C++ 中,这是有道理的,因为堆栈不会被清除,用于指针的内存位置可以是任何地方(导致难以跟踪的错误)。 但我认为运行时不允许真正“未分配”的值。特别是,未初始化的引用类型将始终具有 null 值,而不是上一次...

45得票7回答
.NET CLR是否真的针对当前处理器进行优化?

当我阅读关于像C#或Java这样的JIT编译语言的性能时,作者通常会说它们理论上应该/可以超越许多本地编译的应用程序。 这个理论是因为本地应用程序通常只是为一个处理器系列(如x86)编译,因此编译器无法进行某些优化,因为它们可能不是所有处理器上真正的优化。 另一方面,CLR可以在JIT过程中进...

44得票2回答
.NET中类加载器的等效物

有人知道在.NET中是否可以定义“Java自定义类加载器”的等效物吗? 为了给大家一些背景,我正在开发一个针对CLR的新编程语言,名为“Liberty”。该语言的一个特点是其能够定义“类型构造器(type constructors)”,这些方法由编译器在编译时执行,并生成类型作为输出。它们是...

44得票3回答
异步迭代器任务 IEnumerable<T>

我试图实现一个返回迭代器的异步函数。思路如下: private async Task&lt;IEnumerable&lt;char&gt;&gt; TestAsync(string testString) { foreach (char c in testStri...