Ошибка серверного приложения Blazor: компонент рендеринга необработанных исключений: индекс находился вне диапазона [дубC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка серверного приложения Blazor: компонент рендеринга необработанных исключений: индекс находился вне диапазона [дуб

Сообщение Anonymous »

Я пытаюсь изучить Blazor, поэтому попытался создать игру. Однако, когда я устанавливаю флажок, я получаю следующие ошибки:

Необработанный компонент рендеринга исключений: индекс вышел за пределы диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
System.ArgumentOutOfRangeException: индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List

Код: Выделить всё

1.get_Item(Int32 index)          at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value)          at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
1.b__0(ChangeEventArgs e)
at System.RuntimeMethodHandle.InvokeMethod(цель объекта, аргументы Void**, подпись подписи, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker. InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags ignoreAttr)
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
в Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)
Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer: Предупреждение: компонент рендеринга необработанных исключений: индекс находился вне диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)


System.ArgumentOutOfRangeException: Индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List

Код: Выделить всё

1.get_Item(Int32 index)    at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value)    at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
1.b__0(ChangeEventArgs e)
at System.RuntimeMethodHandle.InvokeMethod(цель объекта, аргументы Void**, подпись подписи, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker. InvokeDirectByRefWithFewArgs (Object obj, Span

Код: Выделить всё

1 copyOfArgs, BindingFlags invokeAttr) --- End of stack trace from previous location ---    at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)    at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState) fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]       Unhandled exception in circuit '[circuitID]'.       System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')          at System.Collections.Generic.List
1.get_Item(Int32 index)
в BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value)
в Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.< >c__DisplayClass64_0

Код: Выделить всё

1.b__0(ChangeEventArgs e)          at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)          at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span
1 copyOfArgs, BindingFlags ignoreAttr)
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)
Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost: Ошибка: необработанное исключение в схеме «[circuitId]».


System.ArgumentOutOfRangeException: индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. (Параметр index)
в System.Collections.Generic.List

Код: Выделить всё

1.get_Item(Int32 index)    at BlazorApp.Components.Pages.Connections.c__DisplayClass0_0.b__0(Boolean __value)    at Microsoft.AspNetCore.Components.EventCallbackFactoryBinderExtensions.c__DisplayClass64_0
1.b__0(ChangeEventArgs e)
at System.RuntimeMethodHandle.InvokeMethod(цель аргументы, аргументы Void**, подпись команды, логическое значение isConstructor)
at System.Reflection.MethodBaseInvoker . InvokeDirectByRefWithFewArgs (Object obj, Span`1 copyOfArgs, BindingFlags ignoreAttr)
--- Конец трассировки стека из предыдущего местоположения ---
в Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task Task)
в Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task TaskToHandle, ComponentState owningComponentState)

Вот соответствующая часть кода:< /p>

Код: Выделить всё

@page "/connections"
@rendermode InteractiveServer
Connections


@for (int i = 0; i < allWords.Count(); i++)
{

@allWords[i].Label
}


@code {

public List allWords = new List
{
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "blue", GroupId = 1},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "yellow", GroupId = 2},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "green", GroupId = 3},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4},
new Word {Label = "purple", GroupId = 4}
};

public class Word
{
required public string Label { get; init; }
public int GroupId { get; init; }
public bool IsSelected { get; set; } = false;
}
}
16 флажков отображаются без проблем в пользовательском интерфейсе.
Список allWords содержит 16 элементов, поэтому я не знаю, что проблема есть. Когда я жестко запрограммировал 16 в цикле for, возникает та же проблема. Когда я жестко запрограммировал там 15, проблема не возникает, но, конечно, мне не хватает флажка, и они даже не проверяются/снимаются должным образом.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ex-was-out
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»