如何按德语电话簿字母表对字符串进行排序

Joe*_*e H 4 c# sorting cultureinfo

我正在尝试使用德语字母表的电话簿排序对字符串列表进行排序。在德语字母排序中,特殊字符或变音符号由以下表示:

\n\n
    \n
  1. \xc3\x84 -> ae
  2. \n
  3. \xc3\x96 -> oe
  4. \n
  5. \xc3\x9c -> ue
  6. \n
\n\n

因此,升序排序最终应该是这样的:

\n\n
    \n
  1. 广告
  2. \n
  3. \xc3\x84
  4. \n
  5. AF
  6. \n
\n\n

我在 C# 领域工作,一直在使用 CultureInfo 创建一个新的字符串比较器进行排序。使用它,我得到以下命令:

\n\n
    \n
  1. \xc3\x84
  2. \n
  3. 广告
  4. \n
  5. AF

    \n\n
    List<string> l = new List<string>();\nl.Add("Ad");\nl.Add("\xc3\x84");\nl.Add("Af");\n\nvar comparer = StringComparer.Create(CultureInfo.CreateSpecificCulture("de"), true);\nvar x = l.OrderBy(y => y, comparer);\n\nforeach(var outp in x) {\n    Console.WriteLine(outp);\n}\n
    Run Code Online (Sandbox Code Playgroud)
  6. \n
\n\n

有谁知道我如何使用自定义比较器或使用现有的文化比较器来做到这一点?

\n

Eri*_*SFT 5

德语电话簿排序是一种替代排序,可以通过使用“de-DE_phoneb”作为名称而不是使用“de”来激活。