Zitat von
Boombuler:
Hi
ich hab gerad mal was sonderlich cooles entdeckt!
Bin gerad dabei Code von Delphi auf C# zu portieren dabei ist mir ein kleiner Fehler unterlaufen...
Code:
{
string var1 = "2004";
string var2 = "2006";
string var3 = var1 + '-' + var2;
label1.Text = var3;
}
Ok ich hätte dran denken sollen, das man Strings in C# mit " einleitet und nicht mit ' aber was denkt ihr was bei mir nachher im Label1 stand???
Antwort: 4055
Die Lösung ist: 2004 + 2006 + Ord('-')
Kann ich nicht nachvollziehn
Bei mir steht da ganz normal "2004-2006" im Label, so wie es sein sollte.
Zitat von
CK_CK:
Das ist eine ganz einfache Regel: Strings, die nur ein Zeichen enthalten dürfen mit ''-Zeichen geschrieben werden.
'\n' ist kein string
Das ist ein char! Strings werden mit doppelten Hochkommas gekennzeichnet, und wenn ich einen String, also einen nicht ordinalen Typ will, (auch wenn er nur ein Zeichen lang ist), dann nehm ich die <">, wenn ich hingegen einen char will, der immer eine konstante groesse hat, den ich auf nen int casten kann, dann nehme ich <'>.
Zitat von
CK_CK:
Der Modale wert wird genommen, weil im ganzen String kein Buchstabe vorkommt und der Kompiler deswegen "gedacht" hat, du wolltest rechnen...
Das will ich aber nicht hoffen! Wenn ich rechnen will, nehm ich integer, und ich traue dem Compiler diese "
unintelligenz" auch nicht zu. Wir sind hier doch nicht bei php
greetz
Mike