Forum: PC-Programmierung C#: char mit int vergleichen ?


von Paul (Gast)


Lesenswert?

Wie kann man in C# einen charakter mit einem integer vergleichen.
Beispiel:

char a='1';
int b=1;

if (a == b)

Wie kann man dies in C# realisieren?

von Peter (Gast)


Lesenswert?

// caste den char auf int

char a='1';
int b=1;

if ((int)a == b)
{
  ...
}

von Paul (Gast)


Lesenswert?

Das funktioniert in C# nicht. Verstehe ich nicht.

von Sven P. (Gast)


Lesenswert?

Ist in C# ein 'char' denn keine Ganzzahl mehr?

Evtl. meint er ja das hier:
1
char c = '1'; /* ASCII 49 */
2
int i = 1;
3
4
if (i == (c - '0')) {...}
5
/* oder */
6
if ('1' == c) {...}

von Gast (Gast)


Lesenswert?

versuchs mal so ...

char a='1';
int b=1;

if( b == (int)Char.GetNumericValue(a))
{
   ...
}

von Gast (Gast)


Lesenswert?

Das Casten des chars wandelt den char in den Asciiwert um. "1" != 1 ...

von Sven P. (Gast)


Lesenswert?

Gast wrote:
> Das Casten des chars wandelt den char in den Asciiwert um. "1" != 1 ...

Geht sogar noch weiter, mal puristisch:
* 1 ist nicht gleich '1'
* "1" darf man nicht mit 1 oder '1' vergleichen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.