Zitat von
Delbor:
Hi Khabarakh
Zitat:
Was stört dich denn daran, wenn du ein Char[] zurückbekommst
Solange dieser Char (oder besser ein Char-Array) den in dem Feld wirklich enthaltenen Text wiedergibt, überhaupt nichts. Testweise gebe ich die Texte in einer Listbox aus, und anstelle des in
Access gespeicherten Textes erhalte ich die Ausgabe "System.Char[]" und nicht etwa ein Item des Typs System.Char, wie du mich offensichtlich verstanden hast.
Was ist die Implementierung von ToString in Object? Richtig, "result := GetType().ToString();".
Was sagt Reflector dazu ob System.Array ToString überschreibt? Nix? Nunja er überschreibt es ja auch nicht. Ein Char array ist kein wirklicher Typ, eher etwas compiler magic kombiniert mit der speziellen Behandlung von typisierten Arays in der CLR.
Er kann ToString also auch nicht überschreiben.
Was stellt eine ListBox dar wenn du ihr keinen DisplayMember gibst oder der DisplayMember selbst kein primitiver Typ ist? Richtig, ToString.
Was passiert also wenn du eine Liste von Char arrays an eine ListBox hängst?
Richtig:
Code:
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
System.Char[]
Der Wert des Items in der DataRow
ist ein Char Array, aber ein Char Array ist nur ein Array und wird seine Chars nicht als String ausgeben wenn man ToString auf ihn ausführt.
Einen String würdest du zum Beispiel so bekommen:
Code:
x := String.Create(deinWert as array of Char);
Das sind übrigens absolute Basics in .Net.