.NET 多维阵列打印
Posted
技术标签:
【中文标题】.NET 多维阵列打印【英文标题】:.NET Multi Dimensional Array Printing 【发布时间】:2010-09-06 19:01:10 【问题描述】:假设我有一个 n 维数的 .NET 数组。我想遍历元素并打印出如下内容:
[0, 0, 0] = 2
[0, 0, 1] = 32
等等。我可以使用一些 Rank 和 dimension 函数编写一个循环来得出索引。有内置函数吗?
【问题讨论】:
【参考方案1】:感谢您的回答,这是我在等待时写的:
public static string Format(Array array)
var builder = new StringBuilder();
builder.AppendLine("Count: " + array.Length);
var counter = 0;
var dimensions = new List<int>();
for (int i = 0; i < array.Rank; i++)
dimensions.Add(array.GetUpperBound(i) + 1);
foreach (var current in array)
var index = "";
var remainder = counter;
foreach (var bound in dimensions)
index = remainder % bound + ", " + index;
remainder = remainder / bound;
index = index.Substring(0, index.Length - 2);
builder.AppendLine(" [" + index + "] " + current);
counter++;
return builder.ToString();
【讨论】:
【参考方案2】:Take a look at this: 可能对你有帮助。
【讨论】:
以上是关于.NET 多维阵列打印的主要内容,如果未能解决你的问题,请参考以下文章