Wie kann ich eine Textersetzung in einer Konsoleneingabe vornehmen?
Hey,
ich habe vor, Text direkt in der Texteingabe der Konsole zu ersetzen, um die Konsoleneingabe zu formatieren, da es sonst später Fehler wegen Anführungszeichen im Text gibt (wenn der Text " enthält, durch "" ersetzen).
Folgender Code scheint nicht zu funktionieren. Er gibt einen Fehler zurück, siehe unten.
Warum wird die Eingabe als int-Variable erkannt? Wie könnte ich das sonst noch umsetzen? Ideen?
Der Fehler bezieht sich nur auf
string txt = Console.Read().Replace("\"", "\"\"");
Danke schon einmal!
Code:
using System;
using System.IO;
namespace format
{
class Program
{
static void Main(string[] args)
{
string txt = Console.Read().Replace("\"", "\"\"");
txt = txt.Replace("\n", "new_line");
Console.WriteLine(txt);
}
}
}
Error:
Type `int' does not contain a definition for `Replace' and no extension method `Replace' of type `int' could be found. Are you missing an assembly reference?
1 Antwort
Das liegt daran, dass System.Console.Read() einen Integerwert zurückgibt, der entweder dem Zeichencode des eingegebenen Zeichens entspricht oder -1 falls der darunterliegende Stream keine weiteren Zeichen mehr liefern kann.
Für dein Vorhaben wäre System.Console.ReadLine() eher geeignet.
Ich habe kein Problem damit, wenn du Anfänger bist und dich in etwas neues einarbeitest, im Gegenteil, das ist cool.
Aber Selbstüberschätzung und lapidares "das habe ich schon im Griff" ist nicht hilfreich und bringt dich nicht weiter. MIt "hier Hilfe finde, reicht mir" kommst du nicht wirklich weiter. Ich sage es gerne noch einmal ... erarbeite dir anhand eines Buches oder Kurses die Grundlagen, wie die gewählte Programmiersprache funktioniert und was die Grundlagen der Programmierung sind. Damit tust du dir für die Zukunft einen grossen Gefallen und dein Hirn dankt es dir auch, weil es neue Informationen dann an etwas Bekanntes knüpfen kann anstelle von kleinem Stückwerk ;)
Die erste Programmiersprache ist die schwierigste, weil du gleichzeitig die Grundlagen der Programmierung erlernen musst. Anschliessend geht es wesentlich schneller. Je stabiler und ausgebauter also dein erstes Fundament ist, desto weiter kommst du dann und kannst darauf aufbauen.
Alles klar, danke, dann war das ein Missverständnis. Ich mache einen Kurs, das hier ist quasi nur Interesse geleitet, da ich gerade ein wenig ausprobiere.. hab dann halt nachgefragt wenn ich mir etwas nicht selber zusammenreimen konnte. Kurs mach ich und geh auch die Grundlagen geordnet der Reihe nach durch. C# durch online Foren lernen ist ziemlich kontraproduktiv und nicht gerade empfehlenswert, klar! Das ist auch definitiv nicht mein Ziel. Umso besser, zu wissen dass es an fehlendem Grundwissen liegt, daran lässt sich schließlich wesentlich einfacher arbeiten^^ Mal gucken was das noch wird mit c#, momentan ist mein Ziel game dev. Danke nochmal!
Alles klar, das ist also der Unterschied zwischen den beiden, hätt ich also auch per googlen rausfinden können. Naja, danke auf jeden Fall!
Soviel zum Thema Grundlagen, lieber oOKiroO. Das sind keine "spezifischen Fehler", das sind grundlegene Anwendungsfragen in C#