1

ここに C# コードがあります。

次のテキストを出力します。

tab.Length = 6
tab.Rank = 2
Length of dim 0 of tab : 0
Length of dim 1 of tab : 1

私は次のテキストを期待していました:

tab.Length = 6
tab.Rank = 2
Length of dim 0 of tab : 2
Length of dim 1 of tab : 3

なぜだめですか?ありがとう。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TableTest
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] tab = new int[2, 3];

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    tab[i, j] = 2 * i + j;
                }
            }
            Console.WriteLine("tab.Length = {0}", tab.Length);
            Console.WriteLine("tab.Rank = {0}", tab.Rank);
            for (int i = 0; i < tab.Rank; i++)
            {
                Console.WriteLine("Length of dim {0} of tab : {0} ", i, tab.GetLength(i));
            }

        }
    }
}
4

3 に答える 3

11

大げさな推測: 最後の書式文字列が間違っています:

Console.WriteLine("Length of dim {0} of tab: {0} ", i, tab.GetLength(i));

を 2 回使用しているため、両方のプレースホルダーに{0}の値を出力しています。i

代わりにこれを使用してください:

Console.WriteLine("Length of dim {0} of tab: {1} ", i, tab.GetLength(i));
于 2012-07-24T15:49:08.803 に答える
1

フォーマット文字列が間違っています。

"Length of dim {0} of tab : {0} "で置き換え"Length of dim {0} of tab : {1} "ます。

あなたのコードは実際に i を入れていましたが、tab.GetLenght(i) ではありませんでした

于 2012-07-24T15:49:22.113 に答える
1

Console.WriteLine に渡された 2 番目のパラメーターにアクセスする必要があるだけですか? これを試して:

Console.WriteLine("Length of dim {0} of tab : {1} ", i, tab.GetLength(i));
于 2012-07-24T15:49:33.760 に答える