Klaus Mock: C# - Was zurückgeben für int = null?

Beitrag lesen

Hallo,

Bei return null beschwert er sich, dass null und int nicht kompatibel seien...

Das funktioniert tatsächlich nicht. Datentypen wie int, float usw. können nicht NULL sein.
An sich solltest Du, wie Cheatah schon angedeutet hat, eine Exception schmeissen bzw. diese vom Framework selbst schmeissen lassen (System.Int32.Parse() bzw. Convert.ToInt32() würde entsprechende Exceptions schmeissen, wenn der string nicht konvertiert werden kann).
Natürlich ist das für den Programmfluss nicht gerade nützlich, wenn man bei jeder Zuweisung/Umwandlung mit einer Exception rechnen muss, aber auf NULL müsstest Du auch reagieren, also könntest Du auch einen try-catch-Block im Aufrufenden Code verwenden, oder Du machst z.B. folgendes:

public static int getInt(string input, int defaultValue)
{
   if (...)
      return int.Parse(...);
   else
      return defaultValue;
}

Dann kannst Du ja einen an sich ungültigen Wert als defaultValue übergeben und wenn der dann zurückgegeben wird, entsprechend darauf reagieren.

Grüße
  Klaus