为什么不';t字节[]b=新字节[8]();工作

本文关键字:字节 工作 新字节 为什么不 | 更新日期: 2023-09-27 18:00:15

我已经知道byte[] b = new byte[8];运行良好。但是为什么byte[] b = new byte[8];不起作用呢?

例如,byte b = new byte();工作得很好,所以数组样式也应该工作,但它不工作。我完全不知道这个原因。有人能解释一下吗?

为什么不';t字节[]b=新字节[8]();工作

数组没有构造函数,当您创建数组时,您正在创建对象的列表或集合,例如,组成数组的对象将具有构造函数。

var b = new byte[8];

将创建一个由byte类型的8个对象组成的数组,其中数组的每个元素都将为null,使用构造函数表示法是无效的,但您可以使用初始化器表示法,例如

var b = new byte[8] { new byte(), new byte(), ... };

使用此表示法将byte类型的8个元素的数组初始化为byte 的新实例

简而言之,var b = new byte()是将变量实例化为byte并调用对象的构造函数,var b = new byte[8]是创建byte类型的n元素的数组,每个元素初始化为null。

我希望这能帮助