【问题标题】:Why is FileInfo.Length of type "long"?为什么 FileInfo.Length 类型为“long”?
【发布时间】:2011-07-07 08:20:25
【问题描述】:

我只是想知道是否有人知道为什么属性FileInfo.Length 的类型是long 而不是ulong?我认为文件的大小永远不会是负数。

这是 .NET 框架的一般设计决策吗,因为其他长度属性(例如 string.Length)也是 long 类型?

【问题讨论】:

    标签: .net unsigned signed


    【解决方案1】:

    ulong 不是符合 CLS 的类型。该框架倾向于尽可能使用符合 CLS 的类型。

    【讨论】:

    • 为什么 CLS 和 C# 之间存在(某种)“不匹配”?我的意思是,这两个规范都是由 Microsoft 制定的,可能是同时制定的。还是真的有不支持无符号数据类型的 .NET 语言?
    • @M4N:老实说,我不知道……但如果找到不支持运算符重载的 .NET 语言示例,我不会感到惊讶。我认为设置语言特征的“最小公分母”是合理的,尽管我不想说它是否正确。
    • 我好像记得VB.NET在初始版本中对无符号类型的支持较弱,但我不知道细节。
    • 微软在 .NET 介绍中支持的语言有一半不支持无符号类型(VB 和 J#)。
    猜你喜欢
    • 2020-06-06
    • 1970-01-01
    • 2014-01-23
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多