43得票4回答
Haskell在.NET平台上使用?

我白天是一名.NET开发者,但在业余时间里已经玩了一段时间的Haskell。我很好奇:是否有与IronPython类似的Haskell .net实现?

42得票5回答
什么条件下CLR可以将方法内联?

我观察到许多应用程序中存在很多"堆栈内省"的代码,这些代码通常会隐式依赖于其包含方法不被内联以确保其正确性。这些方法通常涉及以下调用: MethodBase.GetCurrentMethod Assembly.GetCallingAssembly Assembly.GetExecuting...

42得票2回答
将泛型类型参数显式转换为任何接口。

在泛型常见问题解答:最佳实践中提到: 编译器允许你将泛型类型参数显式转换为任何接口,但不能转换为类: interface ISomeInterface {...} class SomeClass {...} class MyClass<T> { void SomeMet...

42得票8回答
一个枚举类型既继承自System.Enum,同时又是一个整数类型,这是怎么实现的?

编辑: 底部有评论。此外,this。 以下是我有些困惑的内容。我的理解是,如果我有这样的枚举... enum Animal { Dog, Cat } 我所做的基本上是定义了一个名为Animal的值类型,其中包含两个已定义的值:Dog和Cat。这种类型派生自引用类型S...

41得票9回答
有没有任何基于.NET CLR/DLR的ECMAScript实现?

有没有人知道针对.NET CLR/DLR的ECMAScript的真正实现(即没有虚构)?理想情况下,像Java中的Rhino一样。在.NET Framework/Mono Framework上运行的Rhino的可靠版本将是完美的选择。 我只看到过少数几个项目被提及,但从未见过任何结果,也没有...

39得票1回答
.NET CoreCLR、CoreRT、Roslyn和LLILC有什么区别?

最近我开始阅读有关.NET重组细节的内容(主要通过.NET Core Github页面)。 看起来他们创建了姊妹项目来支持更多平台。在阅读过程中,我有这样的印象:CoreCLR和CoreRT是专有Roslyn编译器的新开源版本。CoreRT提供本地(AOT)编译。而LLILC则是针对LLVM框...

38得票6回答
为什么封闭类型更快?

为什么封闭类型更快? 我想了解更深层次的细节,为什么这是正确的。

38得票7回答
为什么CLR不总是调用值类型构造函数?

我有一个关于值类型中的类型构造函数的问题。这个问题是受 Jeffrey Richter 在《CLR via C# 第三版》中写的一些东西启发的,他在第8章的第195页上说,你不应该在值类型中实际定义类型构造函数,因为有时候CLR不会调用它。 例如(好吧...实际上是Jeffrey Richt...

38得票2回答
安全异常:ECall方法必须打包到系统模块中。

我有一个类似下面的(C#)函数。private static bool SpecialCase = false; public void Foo() { if (SpecialCase) { InternalMethod(); return; ...

37得票4回答
递归泛型类型的实例化,嵌套层数越深,速度下降呈指数级增长。为什么?

注意: 我在标题中可能选择了错误的单词;也许我真正谈论的是多项式增长。请参见问题末尾的基准结果。 让我们从这三个递归泛型接口†开始,它们表示不可变堆栈: interface IStack<T> { INonEmptyStack<T, IStack<T&g...