Mira este es el código en total. En la 3º opcion debo hacer uso del ref para un texto, y volverá repetido X veces. Las funciones parecen estar bien, pero me falla algo, solo funciona la opc1, me lo chequeas?
Código [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
char op = '\0';
string texto1;
string texto2;
string tex;
int cant;
string resultado;
int res;
do
{
Console.WriteLine("Elija una opcion:");
op = Console.ReadKey().KeyChar;
switch (op)
{
case '1':
Opcion1();
break;
case '2':
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Introduce texto 1:");
texto1 = Console.ReadLine();
Console.WriteLine("Introduce texto 2:");
texto2 = Console.ReadLine();
Opcion2(texto1, texto2);
break;
case '3':
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Introduce texto:");
tex = Console.ReadLine();
Console.WriteLine("Introduce cantidad:");
cant = Console.ReadLine();
resultado = Opcion3(ref tex, cant.ToString);
Console.WriteLine(tex);
break;
case '4':
break;
}
Console.ReadLine();
}
while (op != 4);
}
public static void Opcion1()
{
Random rdn = new Random();
int a = rdn.Next(10, 31);
int b = rdn.Next(10, 31);
Console.WriteLine(Environment.NewLine);
for (int i= a; i<= b; i++)
{
Console.WriteLine(i);
}
}
public static void Opcion2(string a, string b)
{
int c = 0;
c = string.Compare(a, b);
switch (c)
{
case -1:
Console.WriteLine(Environment.NewLine);
Console.WriteLine("{0} y {1} --> {2}", a.ToLower(), b.ToLower(), "MENOR");
break;
case 0:
Console.WriteLine(Environment.NewLine);
Console.WriteLine("{0} y {1} --> {2}", a.ToLower(), b.ToLower(), "MAYOR");
break;
}
}
public static int Opcion3(ref string x, int y)
{
int z;
for(int i=0; i<y; i++)
{
Console.Write(x);
}
x = String.Concat(Enumerable.Repeat(x, y));
z = x.Length;
return z;
}
}
}