Czy istnieje sposób przekonwertowania ciągu znaków ("abcdef"
) na tablicę ciągów znaków zawierającą jego znak (["a","b","c","d","e","f"]
) bez korzystania z funkcji String.Split
?Konwertuj ciąg na tablicę bez użycia funkcji Split
Odpowiedz
Więc chcesz tablicę string
, jeden char
każda:
string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();
To działa, ponieważ string
realizuje IEnumerable<char>
. Tak więc, każdy z projektów reprezentuje, że char
i i wylicza rzutowanie i konwertuje wynik na tablicę o numerze string
.
Jeśli używasz starszej wersji C#:
string s = "abcdef";
string[] a = new string[s.Length];
for(int i = 0; i < s.Length; i++) {
a[i] = s[i].ToString();
}
Tak.
"abcdef".ToCharArray();
Powiedział, że tablica 'string', a nie tablica' char'. Zauważ, że gdybyś mógł 'String.Split' na pustym' char' między każdym 'char' w' ciągu' wynik byłby 'string []'. To wydaje się być zachowanie, którego szuka. – jason
Mój zły. Wziąłem wolność próbując zinterpretować niewłaściwą gramatykę jego pytania, ale moja interpretacja była wyraźnie błędna. Dziękuję za wskazanie. –
Można używać LINQ i zrobić:
string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();
Byłoby to Ci tablicę ciągów zamiast tablicy znaków .
Trochę więcej niż powyżej, ale nie widzę dla tego żadnej prostej linijki.
List<string> results = new List<string>;
foreach(Char c in "abcdef".ToCharArray())
{
results.add(c.ToString());
}
results.ToArray(); <-- done
Co jest nie tak z string.split ???
Dlaczego nie można po prostu
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);
pokazać pierwszą literę łańcucha; to byłby "a" w tym przypadku.
- 1. Konwertuj tablicę na ciąg? C#
- 2. Konwertuj ciąg na tablicę znaków swift 2.0
- 3. PHP - Konwertuj tablicę wielowymiarową na ciąg?
- 4. Konwertuj krótką tablicę na ciąg C#
- 5. Konwertuj ciąg znaków javascript na tablicę php
- 6. Konwertuj tablicę bajtów na ciąg w Silverlight?
- 7. Konwertuj ciąg na tablicę int używając LINQ
- 8. t-sql Konwertuj oddzielone przecinkami ciąg na int, bez użycia funkcji utworzonej przez użytkownika
- 9. Konwertuj tablicę bajtów na ciąg znaków w PHP
- 10. Konwertuj ciąg na InetAddress bez wyszukiwania DNS
- 11. Konwertuj ciąg na Int bez int()
- 12. Konwertuj ciąg jsonów bez cudzysłowów na mapę
- 13. Konwertuj tablicę numpy na ciąg CSV i ciąg znaków CSV z powrotem na tablicę numpy
- 14. Konwertuj std :: wektor na tablicę
- 15. Konwertuj listę znaków (lub tablicę) na ciąg znaków
- 16. Konwertuj tablicę na JSON
- 17. Konwertuj tablicę na csv
- 18. Konwertuj tablicę bajtową na dane obrazu bez płótna
- 19. Konwertuj ciąg/Tekst na tablicę bajtów w skrypcie typu
- 20. Konwertuj tablicę liczb całkowitych na ciąg w języku Python
- 21. Konwertuj tablicę bajtów na jedną liczbę dziesiętną jako ciąg
- 22. Konwertuj tablicę ciągów na tablicę bajtów
- 23. Konwertuj nierównomierną tablicę komórek na tablicę numeryczną
- 24. Konwertuj wielowymiarową tablicę PHP na tablicę javascript
- 25. Konwertuj tablicę int na tablicę znaków
- 26. Konwertuj ciąg na LatLng
- 27. Konwertuj ciąg na SocketAddr
- 28. Konwertuj null na ciąg
- 29. Konwertuj ciąg na wyrażenie?
- 30. Konwertuj NSData na ciąg?
Tak naprawdę, chociaż oba przykłady dadzą taką samą tablicę ciągów na końcu, druga ("starsza") droga jest znacznie szybsza. LINQ musi wykonać znaczną część translacji napowietrznej przed zrzuceniem kodu do zasadniczo drugiego zestawu kodu. Wypróbuj test czasowy; LINQ trwa ponad dwa razy dłużej niż przykład "longhand". –
Podejrzewam, że coś jest nie tak z Twoją metodą pomiaru czasu. – jason