Tag: bcl

为什么在添加Microsoft.Bcl.Async包之后,将“bindingRedirect”添加到app.config文件中?

我想知道为什么在安装Microsoft.Bcl.Async之后,nuget将下面的代码添加到我的应用程序app.config文件中: <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" /> </dependentAssembly> </assemblyBinding> </runtime> 如果我从configuration中删除这个XML元素,应用程序将无法正常工作。 据我了解,我们可以使用bindingRedirect使应用程序加载程序集的较新或较旧版本,以防我们在编译EXE时使用的版本消失。 不过,我正在使用的版本2.5.19.0 ,为什么我需要redirect呢? 为什么我需要这个bindingRedirect ?

为什么BCL集合使用结构枚举器,而不是类?

我们都知道可变结构总体上是邪恶的。 我也很确定,因为IEnumerable<T>.GetEnumerator()返回IEnumerator<T>types,所以结构立即被装箱到一个引用types中,比起它们只是引用types开销更多。 那么为什么在BCLgenerics集合中,所有的枚举器都是可变结构呢? 当然必须有一个很好的理由。 唯一发生在我身上的是可以很容易地复制结构体,从而将枚举器状态保留在任意点上。 但是,向IEnumerator接口添加一个Copy()方法本来就不那么麻烦,所以我不认为这是一个合理的理由。 即使我不同意devise决定,我也希望能够理解背后的理由。

Microsoft如何创build具有循环引用的程序集?

在.NET BCL中有以下几种循环引用: System.dll和System.Xml.dll System.dll和System.Configuration.dll System.Xml.dll和System.Configuration.dll 下面是.NET Reflector的截图,显示了我的意思: 微软如何创build这些程序集对我来说是个谜。 是否需要一个特殊的编译过程? 我想象一些有趣的事情在这里发生。

如何从C#中的单个完整path创build多个目录?

如果你有一个完整的path,如: "C:\dir0\dir1\dir2\dir3\dir4\"你将如何最好地实现它,使所有目录都存在? BCL有没有这样的方法? 如果没有,那么做这件事最优雅的方法是什么?

C ++ std :: pair的C#模拟是什么?

我感兴趣什么是C + + std :: pair的C#模拟? 我find了System.Web.UI.Pair类,但想要基于模板的东西。 谢谢!

如何将BitArray转换为单个int?

如何将BitArray转换为单个int ? 最快的方式请…

为什么没有Char.Empty就像String.Empty?

这是有原因吗? 我在问这个,因为如果你需要使用大量的空字符,那么你就会遇到和使用大量空string一样的情况。 编辑:这种用法的原因是这样的: myString.Replace ('c', '') 所以从myString中删除'c's的所有实例。

为什么字典“没有sorting”?

我在这里阅读了许多问题。 但究竟是什么意思? var test = new Dictionary<int, string>(); test.Add(0, "zero"); test.Add(1, "one"); test.Add(2, "two"); test.Add(3, "three"); Assert(test.ElementAt(2).Value == "two"); 上面的代码似乎按预期工作。 那么以什么方式认为字典是无序的呢? 上面的代码在什么情况下会失败?