基于文化的名字和姓氏顺序



所以,根据我的理解,大多数亚洲文化在名字之前都有姓氏。

说我有字符串名字 = "安迪"字符串姓氏 = "彼得森"

根据区域设置,我想将他的名字呈现为安迪·彼得森和彼得森·安迪。

C# 中是否有任何内置方法?我沿着string.format("Andy","Peterson",Culture.Info("en-GB"))的思路思考。

获取带有 String.Format 的人全名,同时将格式字符串存储在 Resources 中。资源是特定于区域性的,你将能够为每个支持的区域性定义不同的格式字符串。

因此,如果创建名为 PersonFullNameFormat 的字符串资源,则可以将其定义为 en-US 的"{0} {1}"和 ru-RU 的"{1} {0}"。然后,您可以按如下方式获取人员全名:

var fullName = string.Format(Resources.PersonFullNameFormat, firstName, lastName);

默认情况下,Resources将根据 Thread.CurrentThread.CurrentUICulture 返回值。最初,它与操作系统中的选定区域性匹配,但你可以通过将Thread.CurrentThread.CurrentUICulture设置为所需的区域性来覆盖它:

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-GB");

有关详细信息,请参阅:

  • 如何在 .NET 中创建和使用资源
  • 全球化和本地化 .NET 框架应用程序

相关内容

  • 没有找到相关文章

最新更新