Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
“ Expresión denota una 'variable', donde se esperaba un 'grupo de métodos'” ¿Qué significa esto?

Estoy aprendiendo C# como principiante y creando un programa que le da al usuario un número aleatorio de un dado hasta que obtiene un seis. Aquí está mi código completo:

 using System; class HelloWorld { static void Main() { Random numberGen = new Random(); int roll = 0; int attempts = 0; Console.WriteLine("Press enter to roll the die"); while (roll != 6) { Console.ReadKey(); roll = numberGen(1, 7); Console.WriteLine("You rolled " + roll); attempts++; } Console.WriteLine("It took you " + attempts + " to roll a six"); Console.ReadLine(); } }

¿Qué estoy haciendo mal y cómo puedo depurarlo?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

El problema está aquí:

 roll = numberGen(1, 7);

La única vez que puede usar la sintaxis variable(...) es cuando variable es un delegado con tipo (en cuyo caso el compilador lo interpreta como variable.Invoke(...) ). En todos los demás casos, se espera que acceda a algún método/propiedad/campo/indexador/evento a través de la variable, usando uno de variable.Foo(...) , variable.Foo o variable[index] (o -> en lugar de . variable es un puntero no administrado).

En este caso, desea:

 roll = numberGen.Next(1, 7);
over 4 years ago · Santiago Trujillo Report

0

En su código, ha creado una variable llamada - 'numberGen'. Dado que es una variable de clase 'Aleatorio', debe llamar a un método de esta clase usando esta variable como:

 numberGen.Next(1,7);

Aquí 'Next' es un método de clase Random, que toma 2 parámetros, valor mínimo y valor máximo.

El error que estaba recibiendo se debía a que estaba usando la variable como método.

over 4 years ago · Santiago Trujillo Report

0

El enfoque predeterminado para generar números aleatorios en rangos:

 Random rnd = new Random(); rnd.Next(1, 10);

En tu caso solo actualiza la variable

 roll = numberGen(1, 7);

para:

 roll = numberGen.Next(1, 7);

Random - es una clase. Siguiente - es un método.

  • Más sobre Clases en C# aquí
  • Más sobre Métodos en C# aquí
  • Más sobre la clase Random aquí
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!