Pregunta

Está lanzando un argumentougoFrangeException en el medio del bucle for, tenga en cuenta que corté el resto del bucle for for bucle

for (int i = 0; i < CurrentUser.Course_ID.Count - 1; i++)
{    
    CurrentUser.Course[i].Course_ID = CurrentUser.Course_ID[i];
}

El código para el curso es

public class Course
{
    public string Name;
    public int Grade;
    public string Course_ID;
    public List<string> Direct_Assoc;
    public List<string> InDirect_Assoc;
    public string Teacher_ID;
    public string STUTeacher_ID;
    public string Type;
    public string Curent_Unit;
    public string Period;
    public string Room_Number;
    public List<Unit> Units = new List<Unit>();
}

y CurrentUser (que es una nueva declaración de usuario)

public class User
{
    public string Username;
    public string Password;
    public string FirstName;
    public string LastName;
    public string Email_Address;
    public string User_Type;
    public List<string> Course_ID = new List<string>();
    public List<Course> Course = new List<Course>();
}

Estoy realmente confundido en cuanto a lo que estoy haciendo mal. Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

No puede indexar en una lista si ese desplazamiento no existe. Entonces, por ejemplo, indexar una lista vacía siempre lanzará una excepción. Use un método como Add Para agregar el elemento al final de la lista, o Insert Para colocar el artículo en el medio de la lista en algún lugar, etc.

Por ejemplo:

var list = new List<string>();
list[0] = "foo"; // Runtime error -- the index 0 doesn't exist.

Por otra parte:

var list = new List<string>();
list.Add("foo");       // Ok.  The list is now { "foo" }.
list.Insert(0, "bar"); // Ok.  The list is now { "bar", "foo" }.
list[1] = "baz";       // Ok.  The list is now { "bar", "baz" }.
list[2] = "hello";     // Runtime error -- the index 2 doesn't exist.

Tenga en cuenta que en su código, esto está sucediendo cuando Escribe al Courses lista, y no cuando lees del Course_ID lista.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top