如何有效地将公共(public)初始值分配给大型数组? 例如,如果我有一个 100 x 100 x 100 整数数组,其中所有初始值都应为零。
在 matlab 中我会简单地写:
array = zeros(100,100,100);
如何在 C# 中不使用循环来执行此操作?
最佳答案
只是为了论证(我个人认为这不是一种好的编程风格),但它可以在 C# 中一行完成,技术上不需要循环,但可以使用 LINQ
int[,,] cube = new int[A, B, C];
Enumerable.Range(0, A*B*C).Select(i => cube[i/(B*C), i%(B*C)/C, i%C] = 1).Count();
这里的Count()只是为了枚举序列,其结果被忽略。 这是为了实现MATLAB的ones()函数。 要实现 Zeros(),可以使用以下内容:
Array.Clear(cube, 0, A*B*C);
关于c# - 如何在 C# 中有效地将公共(public)初始值分配给大型数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12547105/