Ich weiß, dass wir die charAt()Methode in Java verwenden können, um ein einzelnes Zeichen in einer Zeichenfolge zu erhalten, indem wir seine Position angeben. Gibt es eine äquivalente Methode in C #?
Suchen Sie nach einer Lösung, die nur mit Zeichenfolgen funktioniert, die garantiert keine Nicht-16-Bit-Unicode-Zeichen enthalten? Oder suchen Sie nach einer Lösung, die mit einer beliebigen Zeichenfolge funktioniert?
Hippietrail
Antworten:
201
Sie können wie ein Array in eine Zeichenfolge in C # indizieren und erhalten das Zeichen an diesem Index.
Ich denke, es sollte darauf hingewiesen werden, dass str.Substring (8,1) als Lösung funktioniert, aber es ist viel langsamer. Hab das gerade auf die harte Tour herausgefunden.
Warum sollten Sie eine IEnumerable-Erweiterungsmethode verwenden, wenn Sie nur das tun können, was die anderen vor vielen Jahren erwähnt haben? (Integrierte String-Indizierung).
Antworten:
Sie können wie ein Array in eine Zeichenfolge in C # indizieren und erhalten das Zeichen an diesem Index.
Beispiel:
In Java würde man sagen
In C # würde man sagen
quelle
Und
Console.WriteLine(sample.Chars(0));
Referenz: http://msdn.microsoft.com/en-us/library/system.string.chars%28v=VS.71%29.aspx
Das Obige entspricht der Verwendung von Indexern in c #.
quelle
Sie können LINQ verwenden
quelle
Bitte versuchen Sie es als Charakter zu machen
quelle
Mit Console.WriteLine kann der Benutzer eine Position in einer Zeichenfolge angeben.
Siehe Beispiel:
string str = "Tigger"; Console.WriteLine (str [0]); // gibt "T" zurück; Console.WriteLine (str [2]); // gibt "g" zurück;
Los geht's!
quelle
Einfach benutzen
String.ElementAt()
. Es ist Java ziemlich ähnlichString.charAt()
. Viel Spaß beim Codieren!quelle