.NET多维数组打印
时间:2020-03-05 18:42:55 来源:igfitidea点击:
假设我有一个n个维的.NET数组。我想遍历所有元素并打印出类似以下内容:
[0, 0, 0] = 2 [0, 0, 1] = 32
等等。我可以使用一些Rank和Dimension函数编写一个循环,以得出索引。是否有内置函数?
解决方案
回答
看看这个:可能对我们有帮助。
回答
感谢回答,这是我等待时写的内容:
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(); }