问题标签 [base-class-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1996 浏览

c# - .NET 中是否有任何类型的“ReferenceComparer”?

BCL 中有几个地方可以使用IEqualityComparer。像Enumerable.ContainsDictionary Constructor如果我对默认的比较器不满意,我可以提供我的比较器。

有时我想知道集合是否包含我引用的那个对象。不是在任何其他意义上被视为“平等”的那个。
问题是:BCL 中是否存在仅依赖ReferenceEquals方法的标准相等比较器?

我自己写的一个是这样的:

我没有彻底测试它,也没有考虑很多场景,但它似乎Enumerable.ContainsDictionary开心。

0 投票
2 回答
4080 浏览

.net - 什么时候应该使用 BitVector32?

我正在做一个项目,在某个时刻我需要展示一个月哪些日子仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个BitVector32。这是处理布尔列表时最有效的方法。” 我会使用一个List<bool>或类似的东西。在我看来,当您实际使用位时, ABitVector32似乎是低级的东西。

所以,问题是。您是否应该BitVector32在需要一些少于 32 个项目的布尔值列表时使用它,还是应该只将它用于低级别的东西?

0 投票
1 回答
494 浏览

c# - 琐事多于真正重要:为什么对 Activator.CreateInstance 没有 new() 约束()?

我想有些人可能能够回答这个问题,这是一个出于好奇的问题:

.NET v2 中引入的来自的泛型CreateInstance方法System.Activator对泛型参数没有类型限制,但需要激活类型的默认构造函数,否则MissingMethodException会抛出 a。对我来说,这个方法似乎很明显应该有一个类型约束,比如

只是一个遗漏或一些轶事潜伏在这里?

更新

正如所指出的,编译器不允许您编写

但是,请参阅注释,结构可以用作指定 new() 约束的通用方法的类型参数。在这种情况下,给定的答案似乎是不限制方法的唯一正当理由......

感谢您查看此内容!

0 投票
4 回答
52978 浏览

c# - 如何将 BitArray 转换为单个 int?

如何转换BitArray为单曲int

0 投票
1 回答
413 浏览

.net - 如何在基类库中找出实现特定接口的类型列表?

有时我想找出实现特定接口的所有标准 .NET 类型的列表。通常是出于好奇,有时也有一些实际目的(但这不是重点)。

我试图从 MSDN 中得到这个,但类型的页面只包含类型的链接子项,而不是实现接口的类型。

你知道如何做到这一点的任何技巧(或有帮助的工具)吗?

我写了这段代码(ICollection正在调查的类型):

但这有一些限制:

  1. 它只搜索当前加载的程序集。
  2. 我想不出一种方法来为通用接口执行此操作(ICollection<>行不通)。
  3. 如果它提供指向 MSDN 的链接会很好(但我想这可以修复)。

感谢帮助!

0 投票
2 回答
218 浏览

.net - BCL 与 CLS 有何关系?

一些 .net 理论问题:哪些库实际上是标准化的?我知道有一个通用类型系统,它指定了诸如 32 位整数和所有这些低级信息之类的东西,但我对通用语言规范和基类库的状态/关系感到困惑。

系统中有一些基本类型:System.Object、System.ValueType、System.Exception。但是像 System.String 和它的方法/属性(如 .Length、.StartsWith 或 string.IsNullOrEmpty)呢?

这些是任何标准的一部分吗?ECMA-335 是否足以实现符合 CLS 的 .net 运行时?

PS:我知道人们日常使用的许多功能并不符合标准,而是微软专有的 .net 框架实现的一部分。这与在某些不受支持的操作系统下运行现有应用程序无关,我会为此考虑 Mono。这确实是一个关于什么是.net 核心的理论问题,.net 标准库是什么。

0 投票
2 回答
474 浏览

.net - 为什么 BCL 没有 CRC 类?

为什么 .NET 基类库没有 CRC 类?

0 投票
1 回答
159 浏览

c# - C# 需要哪些类型?

可能重复:
C# .NET 框架的哪些部分实际上是该语言的一部分?

C# 的一些特性需要特定类型(“类型必须实现System.IDisposable”)。其他特性是基于模式的(“任何类型看起来像一个Select()带有正确签名的方法”)。

C# 从库中需要的最小类型集是什么(上面的前一种情况)?这与 VB.NET 和 F# 等其他语言有何不同?

0 投票
1 回答
461 浏览

java - .NET BCL 中是否有相当于 java 的 File.deleteOnExit() ?

可能我可以创建一个应用程序域并连接到 DomainUnload 事件,但我想在主应用程序域上这样做。

0 投票
2 回答
477 浏览

c# - 在您自己的类上使用 System.* 命名空间是否被认为是不好的做法?

我有一堂课叫ConfigurationElementCollection<T>

这是一个通用的实现System.Configuration.ConfigurationElementCollection

它存储在我们的解决方案的 Project.Utility.dll 中,但我已将其定义为System.Configuration命名空间的一部分

当类不是 System.* 基类库的一部分时,将类放在 System.* 命名空间中是否被认为是不好的做法?

从表面上看,这似乎是有道理的,因为它将具有相似功能的相似类保留在同一个地方。但是,对于那些没有意识到它实际上是非 .net BCL 的一部分的人来说,这可能会造成混淆,因为他们不知道去哪里寻找参考。