【问题标题】:.NET Multi Dimensional Array Printing.NET 多维阵列打印
【发布时间】:2010-09-06 19:01:10
【问题描述】:

假设我有一个 n 维数的 .NET 数组。我想遍历元素并打印出如下内容:

[0, 0, 0] = 2
[0, 0, 1] = 32

等等。我可以使用一些 Rank 和 dimension 函数编写一个循环来得出索引。有内置函数吗?

【问题讨论】:

    标签: c# .net arrays


    【解决方案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: 可能对你有帮助。

      【讨论】:

        猜你喜欢
        • 2014-05-02
        • 1970-01-01
        • 1970-01-01
        • 2021-07-12
        • 2016-07-20
        • 1970-01-01
        • 2022-08-07
        • 1970-01-01
        • 2017-08-07
        相关资源
        最近更新 更多