问题标签 [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.
c# - .NET 中是否有任何类型的“ReferenceComparer”?
BCL 中有几个地方可以使用IEqualityComparer。像Enumerable.Contains或Dictionary Constructor。如果我对默认的比较器不满意,我可以提供我的比较器。
有时我想知道集合是否包含我引用的那个对象。不是在任何其他意义上被视为“平等”的那个。
问题是:BCL 中是否存在仅依赖ReferenceEquals方法的标准相等比较器?
我自己写的一个是这样的:
我没有彻底测试它,也没有考虑很多场景,但它似乎Enumerable.Contains
很Dictionary
开心。
.net - 什么时候应该使用 BitVector32?
我正在做一个项目,在某个时刻我需要展示一个月哪些日子仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个BitVector32
。这是处理布尔列表时最有效的方法。” 我会使用一个List<bool>
或类似的东西。在我看来,当您实际使用位时, ABitVector32
似乎是低级的东西。
所以,问题是。您是否应该BitVector32
在需要一些少于 32 个项目的布尔值列表时使用它,还是应该只将它用于低级别的东西?
c# - 琐事多于真正重要:为什么对 Activator.CreateInstance 没有 new() 约束()?
我想有些人可能能够回答这个问题,这是一个出于好奇的问题:
.NET v2 中引入的来自的泛型CreateInstance
方法System.Activator
对泛型参数没有类型限制,但需要激活类型的默认构造函数,否则MissingMethodException
会抛出 a。对我来说,这个方法似乎很明显应该有一个类型约束,比如
只是一个遗漏或一些轶事潜伏在这里?
更新
正如所指出的,编译器不允许您编写
但是,请参阅注释,结构可以用作指定 new() 约束的通用方法的类型参数。在这种情况下,给定的答案似乎是不限制方法的唯一正当理由......
感谢您查看此内容!
c# - 如何将 BitArray 转换为单个 int?
如何转换BitArray
为单曲int
?
.net - 如何在基类库中找出实现特定接口的类型列表?
有时我想找出实现特定接口的所有标准 .NET 类型的列表。通常是出于好奇,有时也有一些实际目的(但这不是重点)。
我试图从 MSDN 中得到这个,但类型的页面只包含类型的链接子项,而不是实现接口的类型。
你知道如何做到这一点的任何技巧(或有帮助的工具)吗?
我写了这段代码(ICollection
正在调查的类型):
但这有一些限制:
- 它只搜索当前加载的程序集。
- 我想不出一种方法来为通用接口执行此操作(
ICollection<>
行不通)。 - 如果它提供指向 MSDN 的链接会很好(但我想这可以修复)。
感谢帮助!
.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 标准库是什么。
.net - 为什么 BCL 没有 CRC 类?
为什么 .NET 基类库没有 CRC 类?
c# - C# 需要哪些类型?
C# 的一些特性需要特定类型(“类型必须实现System.IDisposable
”)。其他特性是基于模式的(“任何类型看起来像一个Select()
带有正确签名的方法”)。
C# 从库中需要的最小类型集是什么(上面的前一种情况)?这与 VB.NET 和 F# 等其他语言有何不同?
java - .NET BCL 中是否有相当于 java 的 File.deleteOnExit() ?
可能我可以创建一个应用程序域并连接到 DomainUnload 事件,但我想在主应用程序域上这样做。
c# - 在您自己的类上使用 System.* 命名空间是否被认为是不好的做法?
我有一堂课叫ConfigurationElementCollection<T>
这是一个通用的实现System.Configuration.ConfigurationElementCollection
它存储在我们的解决方案的 Project.Utility.dll 中,但我已将其定义为System.Configuration
命名空间的一部分
当类不是 System.* 基类库的一部分时,将类放在 System.* 命名空间中是否被认为是不好的做法?
从表面上看,这似乎是有道理的,因为它将具有相似功能的相似类保留在同一个地方。但是,对于那些没有意识到它实际上是非 .net BCL 的一部分的人来说,这可能会造成混淆,因为他们不知道去哪里寻找参考。