Ich habe, was mir scheint, ein seltsames Problem mit meinem Code. Ich habe eine Methode, die eine einfache Abfrage durchführt und das Ergebnis zurückgibt. Ich versuche, den Wert als Doppel zurückzukehren, aber ich erhalte eine Fehlermeldung:Fehler 'Kann Double nicht in Int' konvertieren
CS0266 Cannot implicitly convert type 'double' to 'int'. An explicit conversion exists (are you missing a cast?)
Ich bin keine Konvertierungen zu tun versuchen, so verstehe ich nicht, was das Problem ist. Hier ist die Telefonvorwahl:
double displacement = sqLite.GetDisplacement(transItem.Item.Name);
und hier ist der Code, der aufgerufen wird:
public int GetDisplacement(string item)
{
double dDisposition = 0;
string sSql = "SELECT [Displacement] FROM [Items] WHERE [Name] = '" + item + "';";
using (var dbConnection = new SQLiteConnection(sConnectionString))
{
try
{
dbConnection.Open();
SQLiteCommand cmd = new SQLiteCommand(sSql, dbConnection);
object result = cmd.ExecuteScalar();
dDisposition = Convert.ToDouble(result);
}
catch (Exception e)
{
MessageBox.Show("Error retreiving displacement information: " + e.ToString());
}
}
return dDisposition; // This is where I get the error
}
Ich versuche nicht, etwas zu konvertieren, wird alles als Doppel erklärt. Ich habe versucht, die Lösung mehrmals zu reinigen und neu aufzubauen, ohne Erfolg. Was vermisse ich?
'public int ...' –
Ihre Funktion wird als Rückkehr 'int' so erklärt,' dDisposition zurückkehren; 'versucht, eine Doppel zu konvertieren int – Plutonix
Ein Ratschlag, wenn Sie in Zukunft darauf stoßen. Lesen Sie Ihren Code ** laut ** und Sie werden das Problem sehr schnell entdecken. –