代码之家  ›  专栏  ›  技术社区  ›  Jimbo

什么类型是System.Byte[*]

  •  6
  • Jimbo  · 技术社区  · 14 年前

    我被传递了一个对象,它在转换为字符串时返回“System.Byte[*]”。这显然不是字节对象的标准一维数组(“System.Byte[]”),那么它是什么呢?

    2 回复  |  直到 14 年前
        1
  •  7
  •   Jon Skeet    14 年前

    这可能是一个非零基的一维数组。

    下面是一个如何创建的示例:

    using System;
    
    class Test
    {
        static void Main()
        {
            Array nonZeroBase = Array.CreateInstance
               (typeof(byte), new int[]{1}, new int[]{2});
            Console.WriteLine(nonZeroBase); // Prints byte[*]
        }
    }
    

    在CLR术语中,这称为 (矩形阵列也是阵列),其中称为一维零基阵列 byte[,]

    你可能对 this blog post Marc Gravell早上发的。。。

        2
  •  0
  •   viraptor    14 年前

    ...[*] 在我记忆中输入c。也许您可以找到该库的API文档,它将向您展示该类型的真正含义。即使没有,当您在返回对象的方法上尝试自动完成时,VisualStudio也应该向您显示类型。