Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么类型是System.Byte[*]_C#_Arrays_Types - Fatal编程技术网

C# 什么类型是System.Byte[*]

C# 什么类型是System.Byte[*],c#,arrays,types,C#,Arrays,Types,我被传递了一个对象,该对象在转换为字符串时返回“System.Byte[*]”。这显然不是字节对象的标准一维数组(“System.Byte[]),那么它是什么呢?据我记忆所及,c中没有..[*]类型。也许您可以找到该库的API文档,它将向您展示该类型的真正含义。即使没有,当您尝试自动完成返回对象的方法时,Visual Studio也应该向您显示该类型。这可能是一个具有非零基的一维数组 下面是一个如何创建的示例: using System; class Test { static voi

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

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

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

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

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术语中,这被称为数组(矩形数组也是数组),其中一维、基于零的数组被称为向量。(多维数组将打印为
字节[,]


您可能对Marc Gravell在早上发布的内容感兴趣…

该对象作为对象传入。我试图用if(o.GetType()==typeof(Byte[])捕捉它,但这不起作用。(虽然它确实可以与我自己的字节[]一起显式传递).Hmm,看起来可能是这样。谢谢你的例子!我没有意识到这个构造仍然存在;它一定是用于VB.NET的。我想知道如果将其中一个作为参数,有多少库会中断。我当然一直认为从0到长度-1的for循环是安全的。@Dan:你不能首先将其转换为byte[];只有当您将其作为
数组
接收时才会出现问题。当我将byte[]添加为byte[]时,b=non-zerobase;b为null。当我在即时窗口中执行完全相同的操作时,它会起作用。这是为什么?为了澄清,我将b=non-zerobase作为byte[]执行;在即时窗口中,它不再为空。我可以通过这种方式访问b[2]的值。奇怪的是,编译后的代码与即时窗口的工作方式不同。