如何从控制面板的区域设置中读取“列表分隔符”设置?

47

我正在为MS Word和Excel制作多文化插件,需要识别 Regional Settings 下的 "List Separator" 选项中提供的设置值,如何使用 C#读取?

稍后会使用此列表分隔符构建Excel公式、Word邮件合并标题等。

1个回答

61
尝试使用 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparatorSystem.Globalization.CultureInfo.GetCultureInfo("en-US").TextInfo.ListSeparator 如果您正在寻找特定文化的信息。

2
只是顺便提一下,如果您计划使用CurrentCulture:请确保没有更改线程文化的代码。Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-CA");http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture.aspx - Jeff Caron
2
如果有人更改线程的当前区域设置,通常是为了使新的设置影响到这些内容(导出、格式等)。这就是为什么有两个当前区域设置:一个用于线程,另一个用于 UI(CurrentUICulture)。只需确保您正在使用所需的区域设置,不必担心其他人是否更改了它。 - Alex Mazzariol
1
为了澄清@AlexMazzariol的评论,他似乎暗示线程只有一个文化:线程既有CurrentCulture又有CurrentUICulture。CurrentCulture确定日期、数字等的格式规则,而CurrentUICulture确定使用的语言。 - Oskar Berggren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接