2016-04-20 15 views
-6

Also ich habe eine Frage. Ich versuche, ein function witch returns a number zu machen, aber das Problem ist, dass ich int zu string nicht umwandeln kann. Meine Funktionen sieht wie folgt aus:C# Wie mache ich eine Rückkehrfunktion?

static string EnemyDmg(EnemyDmg _dmg) 
    { 
     string result = ""; 
     int EnemyDmg 
      = CharAttack - EnemyDefense; 
     if (EnemyDmg < 1) 
      EnemyDmg = 4; 
     result = EnemyDmg; 
     return result; 
    } 

aber es sollte diese

 int EnemyDmg 
      = CharAttack - EnemyDefense; 
    if (EnemyDmg < 1) 
    EnemyDmg = 4; 
    Console.WriteLine(EnemyName + " takes " + EnemyDmg + " Damage"); 

hat jemand eine Idee tun?

PS: Die 4 ist nur eine Zufallszahl.

+2

Eh, 'result = EnemyDmg.ToString();'? –

+0

Dies sind extrem schlecht benannte Variablen und Funktionen. –

+6

Wenn die Funktion eine Zahl zurückgeben soll, warum geben Sie eine Zeichenfolge zurück? Eine Zeichenfolge ist Text, keine Zahl. –

Antwort

0

sollte static int EnemyDmg(EnemyDmg _dmg) sein. Sie sollten einen int zurück und bespannen außerhalb der Funktion konvertieren iif Sie brauchen, dass

Wie dem auch sei, ein String s in einen int i zu konvertieren:

int i = Int32.Parse(s); 

einen int i in einen String s zu konvertieren

string s = i.ToString(); 
string s = ""+i; // more "java-like" 
+0

'" "+ i' ist mehr Java wie? Abgesehen von der Tatsache, dass es irrelevant ist, ist es "Integer.toString (i)" http://stackoverflow.com/questions/4105331/how-to-convert-from-int-to-string –

0

Diese Frage ist ein wenig mehrdeutig; Ich bin mir nicht sicher, warum du es so gemacht hast.

Sie können eine C# Integerwert in einen String mit dem .ToString() -Methode wie folgt konvertieren:

int a = 12; 
string aString = a.ToString(); 
Console.WriteLine(a); 

https://dotnetfiddle.net/sMC3hU