gpt4 book ai didi

C#:基于非零的数组不符合 CLS

转载 作者:可可西里 更新时间:2023-11-01 08:50:51 24 4
gpt4 key购买 nike

我目前正在阅读 AlbahariC# 3.0 in a Nutshell并在第241,在谈到数组索引时,他是这样说的:

Nonzero-based arrays are not CLS (Common Language Specification)-compliant

非零数组不符合 CLS 到底是什么意思?它对您的代码有什么影响?

[更新]

Here是书页的链接。

最佳答案

CLS(公共(public)语言规范)为一组通用的合规性规则奠定了基础,这些规则保证其他语言(VB.NET、F# 等)可以使用您使用 C# 构建的程序集。非零基数组不符合要求,因为其他语言期望数组是从零开始的。

下面是一个更容易理解的例子:

class Foo
{
public void Bar() { }
public void bar() { }
}

此类型符合 CLS,因为它包含两个仅在类型上名称不同的成员。由于 VB.NET 编译器不区分大小写,因此使用 VB.NET 的人将如何区分 Barbar 之间的歧义?

所以 CLS 基本上就是一堆这样的规则,以保证语言之间的互操作性。

关于C#:基于非零的数组不符合 CLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/955732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com