Laden...

Zu viele Zeichen im Zeichenliteral

Erstellt von wuschelz vor 17 Jahren Letzter Beitrag vor 17 Jahren 9.815 Views
W
wuschelz Themenstarter:in
7 Beiträge seit 2006
vor 17 Jahren
Zu viele Zeichen im Zeichenliteral

bei der Fehlermeldung, verstehe ich nicht, wieso sie kommt.

und zwar verursachen diese Zeile


char[] test= 'Mein Text';
char[] HEX='0123456789ABCDEF';

den Fehler.

Jetzt habe ich nochmal bei der Definion geschaut:
TYP[] bezeichner = Zeichenliteral in Hochkomma.

was mache ich denn falsch? darf man in c# nur noch ein zeichen nehmen?
in c++ war diese Zeile nie ein problem

T
243 Beiträge seit 2006
vor 17 Jahren
char[] HEX={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

So sollte das funktionieren. Bei char ist ja nur ein Zeichen erlaubt, alles andere wäre ein String, der in "" eingeschlossen ist ('' ist nur für char).

139 Beiträge seit 2006
vor 17 Jahren

einfacher fehler... versuchs ma mit:


char[] test= "Mein Text".ToCharArray();

C++ ist eine hässliche sprache mit vielen backdoors, die seines geleichen sucht.
Ein string, ist eine Zeichenfolge. Ein Char-Arry eine Matrix von Zeichen.
Keinensfalls ohne konvertierung gleichzusetzen o.O

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

T
243 Beiträge seit 2006
vor 17 Jahren

Original von Nordwald
einfacher fehler... versuchs ma mit:
char[] test= 'Mein Text'.ToCharArry;

das müsste dann ja auch so lauten:

char[] test= new String("Mein Text").ToCharArray();

... oder nicht?

S
1.047 Beiträge seit 2005
vor 17 Jahren

char ist genau 1 zeichen, string ist für zeichenketten

also sieht das dann so aus


string test_string = "Mein Text";
char[] test = {'M', 'e', 'i', 'n', ' ', 'T', 'e', 'x', 't'};

string HEX_string = "0123456789ABCDEF";
char[] HEX={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

@typhos
ja so gehts auch, geht halt beides bzw. ist gleichzusetzen

ist halt die frage ob er die zeichenkette wirklich als char[] brauch, oder ob er nur nicht wußte das es ja auch string als typ gibt 😉

in c/c++ benutzt man für zeichenketten üblicherweise char[] bzw. char*

139 Beiträge seit 2006
vor 17 Jahren

Original von typhos

Original von Nordwald
einfacher fehler... versuchs ma mit:
char[] test= 'Mein Text'.ToCharArry;

das müsste dann ja auch so lauten:

char[] test= new String("Mein Text").ToCharArray();  

... oder nicht?

Nein, etwas das ist anführungszeichen steht, ist unweigerlich eine Zeichenfolge. Bis auf sehr wenige ausnahmen....

char[] test = "Mein Text".ToCharArray();

reicht völlig

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

T
243 Beiträge seit 2006
vor 17 Jahren

@ Nordwald: Ja, OK. Es kam mir auch mehr auf die Hochkommas an, die Du verwendet hattest 😉

...aber das hast Du ja jetzt schon korrigiert.

139 Beiträge seit 2006
vor 17 Jahren

Welche Hochkommas? ^^***********

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

W
wuschelz Themenstarter:in
7 Beiträge seit 2006
vor 17 Jahren

danke für die Tipps.
wieder was gelernt 👍