我有这段代码:
Console.WriteLine("TextEingabe!");
string eingabe = "Hallo, das ist mein Text";/* Console.ReadLine(); */
char[] ausgabe = eingabe.ToCharArray();
Console.WriteLine(ausgabe[4]);
Console.OutputEncoding = Encoding.Unicode;
Array.Sort(ausgabe, new CharComparer(CultureInfo.GetCultureInfo("lt"))); // Right result using string comparer.
Console.WriteLine(new string(ausgabe));
foreach (char word in ausgabe)
{
}
我按字母顺序对eingabe
进行排序,然后使用Console.WriteLine
将其显示在屏幕上。然后我使用foreach
循环来写出字符。
我预计数组仍然会在foreach
循环中显示原始文本。我也尝试使它与索引一起使用,但看起来旧的索引被新的覆盖,这意味着“H”不在[0]位置。
有人可以给我一个例子并解释一下吗?
如果有帮助,这里是CharComparer
:
readonly CultureInfo culture;
public CharComparer(CultureInfo culture)
{
this.culture = culture;
}
public int Compare(char x, char y)
{
return string.Compare(new string(x, 1), 0, new string(y, 1), 0, 1, false, culture);
}
答案 0 :(得分:0)
您可以在foreach循环中使用eingabe
:
foreach (char word in eingabe)
{
}
或者,如果您想使用ausgabe
数组,只需再次拨打ausgabe = eingabe.ToCharArray();
:
ausgabe = eingabe.ToCharArray();
foreach (char word in ausgabe)
{
}