【问题标题】:Difference between byte vs Byte data types in C# [duplicate]C#中字节与字节数据类型之间的区别[重复]
【发布时间】:2011-01-25 19:44:52
【问题描述】:

我注意到在 C# 中同时存在 byteByte 数据类型。他们都说他们是 struct System.Byte 类型并表示一个 8 位无符号整数。

所以我很好奇这两者之间有什么区别,以及为什么你会使用一个而不是另一个。

谢谢!

【问题讨论】:

    标签: c# byte


    【解决方案1】:

    byte 关键字是 System.Byte 数据类型的别名。

    它们代表相同的数据类型,因此生成的代码是相同的。只是用法上有些区别:

    • 即使不包括 System 命名空间,您也可以使用 byte。要使用Byte,您必须在页面顶部有一个using System;,或者指定完整的命名空间System.Byte

    • 有几种情况C#只允许你使用关键字,而不是框架类型,例如:

    .

    enum Fruits : byte // this works
    {
      Apple, Orange
    }
    
    enum Fruits : Byte // this doesn't work
    {
      Apple, Orange
    }
    

    【讨论】:

    • 如果我使用 GetBytes() 会返回什么
    • @RadhaManohar 字节[] / 字节[]。同一事物的两个名字。甚至 MSDN 文档也在它们之间切换;查看Encoding.GetBytes MSDN(在发表此评论时,方法签名中的返回类型为 byte[],文档中的返回类型为 Byte[])
    【解决方案2】:

    byte 和 C# 中的System.Byte 是相同的。 byte 只是语法糖,被 StyleCop 推荐(用于样式指南)。

    【讨论】:

    • 其实byte被称为System.Byte的别名
    【解决方案3】:

    没有区别。 byte 是 System.Byte 的别名,同样int 是 System.Int32 的别名,long 是 System.Int64,string 是 System.String 的别名,...

    【讨论】:

      【解决方案4】:

      C# 有许多 .NET 类型的别名。 byteByte 的别名,正如 stringString 的别名和 intInt32 的别名一样。 IE。 byteByte 是相同的实际类型。

      【讨论】:

        【解决方案5】:

        没什么,小写的是关键字,是字节类型的别名。

        这是纯粹的语法糖。

        【讨论】:

          【解决方案6】:

          它们通常是相同的。

          【讨论】:

            【解决方案7】:

            byte 是 C# 中的内置数据类型。
            System.Byte 是表示 byte 的结构,并提供了额外的方法,例如 ParseTryParse

            byteSystem.Byte 结构的别名。不同的 .NET 语言根据特定语言的语义具有不同的别名,但它们都映射到 .NET 框架中的特定类型。

            【讨论】:

              【解决方案8】:

              在使用反射时,,,,

              Type t=Type.GetType("System.Byte"); //works
              
              Type t=Type.GetType("System.byte"); //doesn't work, I can see no way to use"byte" directly here without converting it to "Byte"
              

              【讨论】:

              • 没有“将其转换为字节”的概念。 byteSystem.Byte 100% 相同。没有任何区别。这与 Java 不同,它们实际上是离散的类。
              猜你喜欢
              • 1970-01-01
              • 2017-04-14
              • 1970-01-01
              • 1970-01-01
              • 2015-12-08
              • 2012-07-28
              • 2023-03-19
              • 2018-02-25
              • 1970-01-01
              相关资源
              最近更新 更多