C#:获得斯堪的纳维亚语字母的字母?

Mic*_*hel 5 c# localization

有没有办法在一种语言中获得字母表的字母?

我想做分页,我想显示例如字母表的最后7个字母.对于荷兰语字母tz是最后7个字母,但对于瑞典来说,它是w-ö(这是wxyzåäö).

当我得到它作为输入时,对于"普通"az字母表,我可以使用ASCII表生成两者之间的字母,但对于瑞典则不起作用.

Ser*_*ier 5

据我所知,.NET和Windows都不提供此信息.但是,您可以在Unicode Consortium的CLDR数据库中找到它.这个DB实际上是一组XML文件(每种语言一个.以语言缩写命名),包含各种本地化信息.一个金矿!

元素/ ldml/characters/examplarCharacters包含该语言中使用的字符列表.例如,对于Swedish(sv.xml):

[a-v x-z å ä ö]
Run Code Online (Sandbox Code Playgroud)

请注意,当您说'ASCII字母'时,您确实意识到您将自己局限于拉丁文字,不是吗?就CLDR而言,诸如az之类的列表是Unicode字符序列,而不仅仅是ASCII字母.例如,俄语(来自ru.xml):

[?-? ? ?-?]
Run Code Online (Sandbox Code Playgroud)

  • 小心!CLDR并不真正包含所需的信息.例如,对于荷兰语来说,元素/ ldml/characters/exemplarCharacters是[äfi {{ij}joóöpuúüvz](yikes!)但请相信我,[az]就是你需要的对于这个问题. (2认同)
  • CLDR中的示例字符,type ="index"是您正在寻找的.http://unicode.org/reports/tr35/#Character_Elements (2认同)

Mic*_*hel 0

因此,为了清理这个问题,我认为答案是,即使我将自己限制在西方语言中,我也不能向 .Net 框架询问字母表字母。所以我自己用字母列了一个清单,幸运的是只有四种语言要做。