C# Arbeiten mit Strings

Abcd12345

Lt. Junior Grade
Registriert
März 2006
Beiträge
483
Hi,

Ich habe zwei Fragen zu Strings in C#:

1. Wie kann ich eine Konsoleneinfgabe in einem String speichern. Also wie ist die Syntax für eine Eingabeaufforderung?

2. Wie kann ich den String zersückeln alos z.b nur den 3ten oder 4ten Buchstaben in einem andern String speichern?

Gruß Abcd
 
Microsoft bietet eine sehr umfassende Dokumentation für die .net-Plattform an. Zudem kann man vieles auch ohne Nachschlagen in der Dokumentation herausfinden, wenn du eine gute IDE (z.B. Visual Studio (Express)) einsetzst.

Ich könnte dir nun ja die Befehle sagen, aber darin seh ich keinen Nutzen für dich. Du solltest ja was lernen.

Wie gibst du aus? Vermutlich über Console.WriteLine().
Wie könnte denn nun das Lesen über die Konsole gehen? Versuch doch einfach mal "Console.Rea" einzugeben, du wirst dann schon eine Liste von möglichen Befehlen bekommen, und auch eine knappe Beschreibung.

Beim String-Trennen kannst du ähnlich vorgehen.
Du hast einen String "trennmich", gibt doch da einfach mal "trennmich." ein und schau welche Befehle der String schon von Haus aus kann...

Hast du einen passenden Befehl gefunden, hast aber Probleme damit, kannst du immer noch die Hilfe (MSDN-Bibliothek) aufrufen, da sind viele Beispiele drin.
 
Okey Danke bin jetzt schon weiter gekommen und die vorigen sachen haben sich erledigt.

Hätte jetzt noch die Frage ob es die möglichkeit gibt einen String in einen Int Typ zu konvertieren also nicht den gespeicherten Wert sondern die Variabel ansich.

Mfg Abcd
 
Aber es ist möglich wenn ein String den Wert -454 Speichert diesen in einen Integer Wert umzuwandeln und ihn in einer Integer Variabel zu speichern oder?
 
Also ist es möglich? Und er erkennt diese Zahl dann auch als Negative Zahl?
 
@1668mib: Du sagst es, es ruft Int32.Parse auf. Ein Call kostet immer Zeit.
Bei einem Aufruf merkt man das evtl. nicht, aber bei 10 000...

Ich sage ja nicht, dass der Weg über Convert nicht auch das gewünschte Ergebnis bringt.

Ansonsten ist auch Int32.TryParse() nicht zu verachten, da es das Exceptionhandling selbst implementiert und gerade bei unkorrekten Daten ein schnelleres Ergebnis liefert. Dies stellt die sicherste Methode dar.

Allerdings denke ich nicht, dass eine Diskussion hier weiterhilft.
Für das Anwendungsgebiet von Abcd12345 sind alle drei Methoden mehr als passend.
 
Korrigiere mich wenn ich falsch liege, aber ich glaube bei Operationen wählt entweder der Compiler oder das CLR automatisch die effizienteste Struktur/Methode aus.
 
Hi,

Hab ein Problem bei der Umwandlung von einem String in Double.

Hier in der Funktion weden in dem Beispiel, dass ich im Debugmodus verfolgt habe 2 Zeichenketten in den Datentyp Double umgeandelt.

for (int i = 0; i < m_NumbersTotal; i++)
{
m_NumbersDouble = Convert.ToDouble(m_NumbersStrings);

}

Der erste Sting Wert 0.001 wird noch ganz normal in die Double Variabel umgewandelt, der zweite String Wert 0.0001 wird nicht korekt umgewandelt sondern es wird eine 1 in der Doublevariabel gespeichert.

Was läuft verkehrt?
 
Ich glaube dein programmcode ist sowas in der art:
int m_NumbersTotal = 2;
double[] m_NumbersDouble = new double[2];
string[] m_NumbersStrings = new string[] { "0,001", "0,0001" };
for (int i = 0; i < 2; i++)
{
m_NumbersDouble = Convert.ToDouble(m_NumbersStrings);
}

Das funktioniert bei mir.

Wenn ich aber statt
string[] m_NumbersStrings = new string[] { "0,001", "0,0001" };
folgenden Code verwende:
string[] m_NumbersStrings = new string[] { "0.001", "0.0001" };
wird auch bei mir auf 1.0 gerundet.
 
Zurück
Oben