是否有与.NET兼容的语言不支持无符号类型?

时间:2008-12-13 08:11:07

标签: c# .net programming-languages unsigned

假设我正在用C#编写一个库,我不知道谁会使用它。

库的公共接口有一些无符号类型 - uint,ushort。显然,这些类型不符合CLS,从理论上讲,可能会有一些语言无法使用它们。

现实中有类似的语言吗?

4 个答案:

答案 0 :(得分:5)

我相信在VB.NET的原始版本中,无符号类型是可用的,但是没有支持它们内置到该语言中。当然,这已在后来的版本中得到解决。

此外,我怀疑现在已经不存在的J#不支持无符号类型(假设Java没有)。

答案 1 :(得分:5)

.NET兼容性和CLS合规性是两回事。任何能够以某种方式与.NET框架一起工作的东西都可以说与它兼容。 CLS合规性更严格。它为语言实现者和库设计者提供了一套规则,以便创建一个相互兼容的语言和库的生态系统。

像CLS这样的事情的全部意义在于,您可以避免研究语言的每个示例并找出如何支持它们。如果你想这样做,你可以,但另一种方法是遵守CLS,因此知道你将与其他符合CLS的其他东西(来自过去现在或未来)兼容。

答案 2 :(得分:1)

如果今天没有,可能会有一个tommorow。

答案 3 :(得分:0)

Visual Basic ..?