Autor Beitrag
ani
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77

Windows Vista Home Premium
C#(VS 2008)
BeitragVerfasst: Fr 14.10.05 10:59 
huhu!
ich spiel hier grad ein bißchen rum....

ich möchte ein char[] in die textBox schreiben, gibts da keine methode die das machen kann? toString() funktioniert hier nicht.
muss ich dass dann so lösen oder gehts auch anders?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
char[] satz = new char[5];
satz[0] = 'h';
satz[1] = 'a';
satz[2] = 'l';
satz[3] = 'l';
satz[4] = 'o';

foreach(char zeichen in satz)
{
 textBox1.Text = textBox1.Text+zeichen;
}


wenn sich einer fragt warum ich hallo nicht gleich in einem string speichere.
desshalb--> ich durchsuche die einzelnen zeichen nach übereinkunpft mit einem int-wert, wenn treffer dann soll er an die stelle ein anderes zeichen schreiben.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 14.10.05 11:24 
Hallo,

du kannst das über den string-Konstruktor lösen:
ausblenden C#-Quelltext
1:
  string strSatz = new String( satz );					



Gruß,
raziel

_________________
JSXGraph
ani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77

Windows Vista Home Premium
C#(VS 2008)
BeitragVerfasst: Fr 14.10.05 11:36 
aaaaa,


wusst ichs doch dass es da was einfacheres gibt.

danke dir :)
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Fr 14.10.05 11:37 
user profile iconani hat folgendes geschrieben:

muss ich dass dann so lösen oder gehts auch anders?


Moin ani,
klar gates anders. :P

Erstmal einen StringBuilder mit der gewünschten Größe anlegen[meta]Spart Kopiererei beim Vergrößern[/meta]: StringBuilder sb = new StringBuilder(satz.Length);
Nun den char[] reinwerfen: sb.Append(satz);
Oder die einzelnen Chars einzeln besetzen[meta]Der Indexer vom StrinBuilder macht deinen char array von Anfang an unnötig[/meta]:
ausblenden C#-Quelltext
1:
2:
3:
4:
for(int i = 0; i < satz.Length; i++)
{  
  sb[i] = satz[i];
}


Das hier gehört zu den "bösen" Dingen in .Net, die man möglichst nie-nich machen sollte: :shock:
Zitat:
ausblenden C#-Quelltext
1:
2:
3:
4:
foreach(char zeichen in satz)
{
 textBox1.Text = textBox1.Text+zeichen;
}
Mit jedem + gibt es einen neuen String, dieser muss in der globalen Listen gefunden werden[meta]wenn nicht gefunden -> in die Liste, wenn gefunden -> die Instanz der Liste zurück[/meta].
Wer sowas macht glaubt auch an den Mythos ".Net ist langsam". ;)
ani Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77

Windows Vista Home Premium
C#(VS 2008)
BeitragVerfasst: Fr 14.10.05 11:44 
ich find das erste eleganter :P
aber trotzdem danke ;)


ps: ich wills auch nicht so machen :)