ユーザー用に複数のロールを作成しようとしています。基本的なものと選択肢の追加的な役割という共通の役割があります。サインフォームから選択した整数値に基づいて2番目の役割を取得します。次に、スイッチを使用して値をロール名に一致させます。 以下は私が試みたものですが、「インデックスは配列の境界外です」というエラーが表示されます。MVC 5 C#params配列文字列
string[] mt = new string[1];
switch (n)
{
case 1:
mt[0] = "Basic";
mt[1] = "Reader";
break;
case 2:
mt[0] = "Basic";
mt[1] = "Blogger";
break;
case 3:
mt[0] = "Basic";
mt[1] = "Editor";
break;
default:
mt[0] = "Basic";
break;
}
if (mt!= null)
{
result = await UserManager.AddToRolesAsync(user.Id, mt);
}
私はこの正しい方法をやっている場合、私は本当に知りません。すべてのヘルプは、配列の長さが可変である場合は、おそらく最大のインデックス
あなたのコードはあなたの配列の最初と2番目の項目にアクセスしようとしています。しかし、配列の長さはどのくらいですか?それは1のように見えます。それがあなたがそのエラーを得ている理由です。あなたの配列にはアイテムが1つしかなく、2番目のアイテムにアクセスしようとしています! – Shyju