Quote:
Originally Posted by Mostey
Ich würde alleine schon wegen der Speichergröße keinen String für Integer benutzen.
"2147483647" => 10 Bytes
2147483647 => 4 Bytes
"9223372036854775807" => 19 Bytes
9223372036854775807 => 8 Bytes
Mal abgesehen von der ständigen Casterei wenn man dann mal 2 Werte zusammen rechnen müsste.
|
Und "1" = 1 Byte und 1 = 4 Byte :D
Spaß bei Seite und zurück zum Thread.
String ist ein Datentyp zum Darstellen von Informationen als Lesbarer Text, zum Modellieren und Bearbeiten von Daten eher ungeeignet. Allein Operationen auf Strings (z.B. die Länge von einem String rausfinden) haben einen Linearen Zeitaufwand mit der Länge des Strings.
Dann kann man mit Strings einige dinge schlicht weg nicht machen, z.B. Rechnen nehmen wir die Zahlen 1 und 2
9 als String ist ein Array mit einem Element (57) und 1 Als String ist 49
Also Integer sind diese informationen jeweils 9(1001) und 1(0001)
Die Addition von 9 und 1 = 10 die Arithmetische addition von 57 und 49 wäre 106 und damit das zeichen "j".
Man kann zwar Strings in Integer und Umgekehrt umwandeln, dass sind aber dann auch recht große funktionen, welche viel leistung fressen.
Außerdem wie Mostey bereits geschrieben hat verbraten Strings pro Zeichen ein Byte (+1 Byte für den Zeiger +1 Byte für das 0 Byte, bei WideStrings sogar 2 Bytes pro zeichen) und dass nur bei Optimaler Speichernutzung für gewöhnlich ist die Kapazität eines Dynamischen Arrays größer als dessen Länge, damit man nicht für jedes element den Speicher neu allozieren muss.
Prinzipiell kann man sagen dass Strings für alles was nicht zur Darstellung, also für von Menschen gelesene Daten sind, der Denkbar schlechteste Datentyp ist.
Edit:
Quote:
|
Ich würde dir sowieso empfehlen mit C# anzufangen. Wenn du jetzt noch am Anfang bist, ist es für dich das gleiche, denn es ist das selbe Framework. Ich würde aber C# nehmen weil du da näher an der C - Syntax bist. Außerdem gibts da so Sachen wie Option Strict/Explicit ühaupt nit.
|
Nun ich denke es gibt kaum ein Argument was eher für eine der beiden Sprachen spricht, das ist alles schlicht weg Präferenz.
Ich zum Beispiel kann die C Syntax überhaupt nicht leiden, und nutze sprachen wie C oder Java nur wenn es nötig ist.
Und Option Strict ist eher ein Vorteil von VB denn VB gibt die Möglichkeit mit und Ohne zu arbeiten, während c# immer gleich strikt ist