14得票3回答
ConcurrentBag<T>实现中是否存在内存泄漏问题?

可能重复的问题: ConcurrentBag中可能会有内存泄漏吗? 编辑1: 实际问题是:您能否确认这一点,或者我的示例有误,并且我漏掉了明显的内容? 我曾认为ConcurrentBag仅是未排序列表的替代品。但我错了。 ConcurrentBag将自己添加到创建线程的Thr...

14得票1回答
System.Reflection.RuntimeReflectionExtensions中的方法的目的是什么?

自 .NET 4.5(2012)以来,一些新的扩展方法出现了,来自 System.Reflection.RuntimeReflectionExtensions 类。但是,这些新方法似乎没有给我们带来什么新东西。例如:static void Main() { var prop1 = ty...

14得票1回答
为什么IPAddress.MapToIPv4()会抛出ArgumentOutOfRangeException异常?

这段代码在最后一行抛出了ArgumentOutOfRangeException异常。var initAddress = IPAddress.Parse("1.65.128.190"); var ipv6Address = initAddress.MapToIPv6(); Assert.IsTr...

14得票1回答
SemaphoreSlim.WaitAsync的取消操作会保持信号量锁。

在我们的其中一个课程中,我们大量使用SemaphoreSlim.WaitAsync(CancellationToken)和其取消操作。 当一个挂起的WaitAsync调用在SemaphoreSlim.Release()调用后不久被取消(我指的是在ThreadPool有机会处理排队项目之前),...

14得票7回答
高效、不可变、可扩展的.NET集合

在我看来,.NET中安全、不可变的集合类型似乎极度缺乏,尤其是在BCL中,但我并没有看到在其他地方有太多的工作。有人能指点我一个(最好是)生产质量的、快速的、不可变的集合库吗?快速的列表类型是必不可少的。我还没有准备好转向F#。 *编辑:注意搜索者,这将很快整合到BCL中:.NET不可变集合

14得票1回答
.NET 4.5 CustomReflectionContext:它有什么用处?

.NET Framework 4.5 Developer Preview的新特性提到: 通过CustomReflectionContext类,可以自定义反射上下文以覆盖默认的反射行为。 ReflectionContext的目的是什么?MSDN并没有很清楚地阐述这个问题。

13得票3回答
ImmutableDictionary和ImmutableSortedDictionary哪个更好?

我听说.NET的System.Collections.Immutable集合被实现为平衡二叉树,以满足其不可变性限制,即使像Dictionary这样传统模拟哈希表的集合,也是通过使用GetHashCode的整数值作为排序关键字来实现的。 如果我有一个类型可以很容易地生成哈希码,并且比较成本很...

13得票3回答
Directory.GetParent中存在Bug吗?

我被 System.IO.Directory.GetParent 方法的一个非常奇怪的行为打了个措手不及:string path1 = @"C:\foo\bar"; DirectoryInfo parent1 = Directory.GetParent(path1); Console.Writ...

13得票1回答
为什么 Linq-to-Objects 中一个 nullable 序列的 sum 值本身也是 nullable 的?

作为惯例,int? 表示 System.Nullable&lt;int&gt;(或 System.Nullable`1[System.Int32])。 假设你有一个内存中的 IEnumerable&lt;int?&gt;(比如说一个 List&lt;int?&gt;),我们称之为 seq;那...

12得票1回答
比起真正重要的内容更像是琐事:为什么在 Activator.CreateInstance<T>() 中没有新建约束(new() constraint)?

我认为有人可能能够回答这个问题,这只是出于好奇: 在.NET v2中引入的System.Activator通用的CreateInstance方法没有对泛型参数施加类型约束,但需要所激活类型具有默认构造函数,否则会抛出MissingMethodException异常。对我来说,这个方法应该像下...