سؤال

لنفترض أن لدي مصفوفة .NET ذات عدد n من الأبعاد.أرغب في البحث عن العناصر وطباعة شيء مثل:

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

وما إلى ذلك وهلم جرا.يمكنني كتابة حلقة باستخدام بعض وظائف التصنيف والأبعاد للتوصل إلى المؤشرات.هل هناك وظيفة مدمجة بدلاً من ذلك؟

هل كانت مفيدة؟

المحلول

شكرا على الرد، وهذا ما كتبته أثناء انتظاري:

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();
}

نصائح أخرى

تفقد هذا: قد يكون مفيدا بالنسبة لك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top