Ich möchte etwas so einfaches wie die Umwandlung von "this is a test"
in
new string[] {"t","h","i","s"," ","i","s"," ","a"," ","t","e","s","t"}
Müsste ich wirklich sowas machen
test = "this is a test".Select(x => x.ToString()).ToArray();
edit: Um zu klären, ich möchte kein char-Array, idealerweise ein Array von Zeichenfolgen. Ich sehe mit dem obigen Code nichts wirklich falsch, außer der Tatsache, dass ich denke, dass es einen einfacheren Weg gibt.
Ich glaube, das ist, wonach Sie suchen:
char[] characters = "this is a test".ToCharArray();
Zeichenfolgen in C # verfügen bereits über einen Zeichenindex
string test = "this is a test";
Console.WriteLine(test[0]);
Und...
if(test[0] == 't')
Console.WriteLine("The first letter is 't'");
Das funktioniert auch ...
Console.WriteLine("this is a test"[0]);
Und das...
foreach (char c in "this is a test")
Console.WriteLine(c);
EDIT:
Ich habe bemerkt, dass die Frage bezüglich char [] Arrays aktualisiert wurde. Wenn Sie ein String-Array [] haben müssen, teilen Sie eine Zeichenfolge an jedem Zeichen in c # auf
string[] test = Regex.Split("this is a test", string.Empty);
foreach (string s in test)
{
Console.WriteLine(s);
}
Einfach!!
eine Linie:
var res = test.Select(x => new string(x, 1)).ToArray();
Sie können einfach String.ToCharArray () verwenden und dann jedes Zeichen als Zeichenfolge in Ihrem Code behandeln.
Hier ist ein Beispiel:
foreach (char c in s.ToCharArray())
Debug.Log("one character ... " +c);
Versuche dies:
var charArray = "this is a test".ToCharArray().Select(c=>c.ToString());
Wahrscheinlich suchen Sie nach der Methode ToCharArray () . Sie müssen jedoch etwas mehr Arbeit erledigen, wenn ein string[]
erforderlich ist, wie Sie in Ihrem Beitrag angegeben haben.
string str = "this is a test.";
char[] charArray = str.ToCharArray();
string[] strArray = str.Select(x => x.ToString()).ToArray();
Edit: Wenn Sie sich Sorgen um die Prägnanz der Konvertierung machen, schlage ich vor, dass Sie eine Erweiterungsmethode erstellen.
public static class StringExtensions
{
public static string[] ToStringArray(this string s)
{
if (string.IsNullOrEmpty(s))
return null;
return s.Select(x => x.ToString()).ToArray();
}
}
Konvertieren Sie die Nachricht in ein Zeichenarray und verwenden Sie eine for-Schleife, um sie in eine Zeichenfolge zu ändern
string message = "This Is A Test";
string[] result = new string[message.Length];
char[] temp = new char[message.Length];
temp = message.ToCharArray();
for (int i = 0; i < message.Length - 1; i++)
{
result[i] = Convert.ToString(temp[i]);
}
string input = "this is a test";
string[] afterSplit = input.Split();
foreach (var Word in afterSplit)
Console.WriteLine(Word);
Ergebnis:
this
is
a
test