0

ロールテーブルで定義されたロールを含むメンバーシップデータベースがあります..今、ロールテーブルに存在するロールの数から動的に作成されるデータテーブルを作成したいです...

ここに私のコードがあります..

DataTable dTable = new DataTable();

string[] rolesarr = Roles.GetAllRoles();
int length = rolesarr.Count();

for (int i = 0; i <= length; i++)
{
     string colname = rolesarr[i];
     if (i == 0)
     {
         dTable.Columns.Add(colname, typeof(string));
     }
     else
     {
         dTable.Columns.Add(colname, typeof(bool));
     }
}

しかし、それは次のようにエラーを出しています

「System.IndexOutOfRangeException: インデックスが配列の範囲外でした。」

どんな助けでも大歓迎です。前もって感謝します..

4

1 に答える 1

4

あなたの

i <= length

i < length

配列はゼロベースだからです。それらの境界は0ですlength - 1

からArrays (C# Programming Guide)

配列のインデックスは 0 です。n 個の要素を持つ配列は、 0から n-1までのインデックスが付けられます。

たとえば、次のように 5 つの要素を持つ配列を宣言するとします。

int[] array = new int[5];

from0から4like にインデックス付けされた要素。

array[0]
array[1]
array[2]
array[3]
array[4]
于 2013-09-20T10:43:35.893 に答える