Gibt es eine Möglichkeit, eine Zeichenfolge ("abcdef"
) in ein Array von Zeichenfolge mit seinem Zeichen (["a","b","c","d","e","f"]
) zu konvertieren, ohne die Funktion String.Split
zu verwenden?Konvertieren von String in Array ohne Verwendung der Split-Funktion
Antwort
So möchten Sie eine Reihe von string
, ein char
jeder:
string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();
Das funktioniert, weil string
IEnumerable<char>
implementiert. So Select(c => c.ToString())
projekte char
in der string
zu einer string
, die char
und ToArray
enumeriert die Projektion und konvertiert das Ergebnis in ein Array von string
.
Wenn Sie eine ältere Version von C# verwenden:
string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
a[i] = s[i].ToString();
}
Ja.
"abcdef".ToCharArray();
Er sagte 'string' Array, nicht' char' Array. Beachten Sie, dass, wenn Sie "String.Split" auf dem leeren 'char' zwischen jedem' char' in der 'string' hätten, das Ergebnis ein' string [] 'wäre. Dies scheint das Verhalten zu sein, nach dem er sucht. – jason
Mein schlechtes. Ich nahm mir Freiheiten, um die falsche Grammatik seiner Frage zu interpretieren, aber meine Interpretation war eindeutig falsch. Danke, dass du es aufgezeigt hast. –
Sie Linq verwenden könnte und zu tun:
string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();
Dies würde Sie ein Array von Strings anstelle eines Arrays von Zeichen erhalten .
Etwas mehr Masse als die oben genannten, aber ich sehe keinen einfachen Liner dafür.
List<string> results = new List<string>;
foreach(Char c in "abcdef".ToCharArray())
{
results.add(c.ToString());
}
results.ToArray(); <-- done
Was ist los mit string.split ???
Warum gehst du nicht einfach
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);
den ersten Buchstaben der Zeichenfolge zu zeigen; das wäre in diesem Fall "a".
- 1. Konvertieren String in Klassennamen ohne Verwendung von eval in Ruby?
- 2. Array String-Konvertierung eine Funktion zur Verwendung eines Array konvertieren
- 3. Konvertieren von JSONArray in String Array
- 4. konvertieren Anzahl Array String-Array
- 5. Konvertieren von Zeichen-Array in String
- 6. konvertieren String in Array von ganzen Zahlen
- 7. Verwendung von Quicksort in einem String-Array
- 8. Konvertieren String in/aus Byte-Array ohne Codierung
- 9. konvertieren MATLAB char-Array String
- 10. Konvertieren ein Array von String in ein Array von BigDecimals
- 11. Array in String konvertieren? C#
- 12. konvertieren zweidimensionale Array in String
- 13. Wie STRING in ARRAY konvertieren?
- 14. Konvertieren von Objekt-Array in String-Array in PowerShell
- 15. ein Array in einen String konvertieren, ohne die implodieren() -Funktion
- 16. Konvertieren von Werten der SQL-Datenbank in ein String-Array
- 17. konvertieren String multidimentional Array
- 18. Konvertieren von Byte-Array base64 String java
- 19. Konvertieren von char-array zu System :: String^
- 20. Konvertieren von PHP-Array String in ein Array
- 21. konvertieren String-Array (von Byte-Werten) in Byte-Array
- 22. Konvertieren von 1D-Array in 2D-Array ohne Duplikate
- 23. JavaScript-String in ein Array konvertieren
- 24. Wie effizient Byte-Array in String konvertieren
- 25. konvertieren String ohne Zeit bisher
- 26. Array zu String konvertieren in CakePHP
- 27. einen String in ein Array Int konvertieren
- 28. Konvertieren von Array in CSV
- 29. statisches 2D-String-Array in HashMap konvertieren
- 30. konvertieren Array in Array zu String ist möglich ..?
Eigentlich, obwohl beide Ihrer Beispiele Ihnen am Ende das gleiche String-Array geben, ist der zweite ("ältere") Weg wesentlich schneller. LINQ muss eine Menge Overhead-Übersetzung durchführen, bevor der Code auf den Code des zweiten Satzes reduziert wird. Versuchen Sie einen Zeittest; Der LINQ dauert mehr als doppelt so lange wie das Beispiel "longhand". –
Ich vermute, dass etwas mit Ihrer Timing-Methode nicht stimmt. – jason