You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中创建存储语言名称字符串集合的属性

在C#中实现存储语言名称字符串列表的属性

当然可以实现,你只需要从CultureInfo对象中提取对应的语言名称字符串,再转换成List<string>即可。以下是几种常见的实现方式:

方式1:可读写的List属性

直接在属性初始化时,通过LINQ将CultureInfo数组转换为语言名称列表:

using System.Globalization;
using System.Linq;

public List<string> AllLanguages { get; set; } = CultureInfo.GetCultures(CultureTypes.AllCultures)
    .Select(c => c.DisplayName) // 显示当前系统语言下的语言名称,比如英语系统里显示"English"
    .ToList();

方式2:只读属性(推荐,无需修改时使用)

如果不需要修改这个列表,用只读属性更安全,避免意外篡改:

using System.Globalization;
using System.Linq;

public List<string> AllLanguages { get; } = CultureInfo.GetCultures(CultureTypes.AllCultures)
    .Select(c => c.NativeName) // 显示语言的本地名称,比如英语显示"English",俄语显示"Русский"
    .ToList();

补充说明

  • DisplayName:返回当前系统文化下的语言名称,比如中文系统里英语会显示“英语”
  • NativeName:返回语言自身的本地名称,比如俄语会显示“Русский”,葡萄牙语(巴西)显示“Português (Brasil)”
  • 如果只需要获取特定类型的文化(比如仅中性文化、仅具体文化),可以修改CultureTypes参数,比如CultureTypes.NeutralCultures只获取语言大类(如英语、俄语),不包含地区变体

内容的提问来源于stack exchange,提问作者WakandaLives

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:02:44