Estoy tratando de llenar mi ArrayList con Console.ReadLine. Desafortunadamente, siempre obtengo un error. ¿Existe otra posibilidad?

class Program
    {
        static void Main(string[] args)
        {
            ArrayList names = new ArrayList();
            names.Add() = Console.ReadLine();
            names.Add() = Console.ReadLine();
            names.Add() = Console.ReadLine();
        }
    }
-2
OnlyProblems 4 oct. 2021 a las 21:04

3 respuestas

La mejor respuesta

Tu sintaxis es completamente incorrecta. Está intentando asignar un valor a la invocación de un método (names.Add()), lo cual no es posible. Lo que quiere hacer es pasar el contenido de Console.ReadLine() a la invocación del método como parámetro:

class Program
    {
        static void Main(string[] args)
        {
            ArrayList names = new ArrayList();
            names.Add(Console.ReadLine());
            names.Add(Console.ReadLine());
            names.Add(Console.ReadLine());
        }
    }

Ahora, este código tampoco es muy bueno, ya que podría ingresar una entrada no válida o no ingresar nada en absoluto. Idealmente, su código estaría realizando algún tipo de validación para asegurarse de que solo está agregando valores que realmente desea agregar a la matriz.

2
Andrew H 4 oct. 2021 a las 18:07

No puede asignar un valor a un método, en su lugar, debe darle el valor al método dentro de los paréntesis de esta manera. nombres.Añadir (Console.ReadLine ());

0
mlindner 4 oct. 2021 a las 18:09

Probar esto

   ArrayList names = new List<string>();
    Console.WriteLine ("type ? to exit")
    var name=string.Empty;
    do
    {
         name =Console.ReadLine();
         if(name!="?")  names.Add(name );
        
    } while(name!="?")
0
Serge 4 oct. 2021 a las 19:19