所以,根据我的理解,大多数亚洲文化在名字之前都有姓氏。
说我有字符串名字 = "安迪"字符串姓氏 = "彼得森"
根据区域设置,我想将他的名字呈现为安迪·彼得森和彼得森·安迪。
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 框架应用程序