escribí el siguiente pequeño programa para imprimir la secuencia de Fibonacci:No se puede convertir implícitamente el tipo 'int' a 'corto'
static void Main(string[] args)
{
Console.Write("Please give a value for n:");
Int16 n = Int16.Parse(Console.ReadLine());
Int16 firstNo = 0;
Int16 secondNo = 1;
Console.WriteLine(firstNo);
Console.WriteLine(secondNo);
for (Int16 i = 0; i < n; i++)
{
//Problem on this line
Int16 answer = firstNo + secondNo;
Console.WriteLine(answer);
firstNo = secondNo;
secondNo = answer;
}
Console.ReadLine();
}
El mensaje de compilación es:
No se puede convertir implícitamente el tipo ' int ' a' corto '. Una conversión explícita existe (¿falta un yeso?)
Dado que todo lo que implica es un Int16 (corto), entonces ¿por qué hay ningún conversiones implícitas pasa? Y más específicamente, ¿por qué falla aquí (y no cuando inicialmente se asigna un int a la variable)?
Una explicación sería muy apreciada.
¿En qué línea está el error? ¿Y por qué estás usando pantalones cortos sin interés? –
@Tom id asume la línea donde tiene el comentario Problema en esta línea – Manatherin
Relacionado: http: //stackoverflow.com/questions/1084668/why-is-the-result-of-a-subtraction-of-an-int16 -parameter-from-an-int16-variable-a – SquidScareMe