如何用n个字节创建数组?

dyl*_*ert 0 c# arrays byte enumerable

如何byte[] digits;用n个字节创建?

我知道我可以做Enumerable.Range(1, n).ToArray();但这会创建一个int [].有没有办法创建一个byte []?

我的首要任务是快速表现.记住这一点,是否有更快的方法(代码稍多)可以创建这个?

Mik*_*scu 6

只创建一个字节数组实例有什么问题?

byte[] digits = new byte[n];
Run Code Online (Sandbox Code Playgroud)

如果你想用从1到n的值初始化,那么我认为:

for(int i = 1; i <= n; i++)
   digits[i-1] = (byte)i; // index is 0-based
Run Code Online (Sandbox Code Playgroud)

也将尽快为您提供所需的结果.当然,n <256!


Jep*_*sen 6

如果您真的喜欢LINQ,则可以

byte[] digits = Enumerable.Range(1, n).Select(i => (byte)i).ToArray();
Run Code Online (Sandbox Code Playgroud)

还有可能

byte[] digits = new byte[n];
for (byte b = 1; b <= n; ++b)
    digits[b - 1] = b;
Run Code Online (Sandbox Code Playgroud)