我试图制作2个下拉列表.
@H_301_2@最高的一个提供所有文化(但不重复).
例如:英文,西班牙文,菲律宾语 @H_301_2@从顶部列表中选择后,底部列表将显示任何特定类型. @H_301_2@我现在正在使用这个代码作为我的顶级列表.
我宁愿不使用GetCultures(CultureTypes.AllCultures)),因为它一次显示太多. @H_301_2@看来我可能需要把NeutralCultures加载到IList里面.
然后遍历AllCultures,以确保它的ThreeLetterISOLanguageName在列表中,如果不添加它. @H_301_2@有最好的做法吗? @H_301_2@谢谢
例如:英文,西班牙文,菲律宾语 @H_301_2@从顶部列表中选择后,底部列表将显示任何特定类型. @H_301_2@我现在正在使用这个代码作为我的顶级列表.
foreach (CultureInfo cultureInfo in CultureInfo.GetCultures(CultureTypes.NeutralCultures))@H_301_2@不过菲律宾(菲律宾)
我宁愿不使用GetCultures(CultureTypes.AllCultures)),因为它一次显示太多. @H_301_2@看来我可能需要把NeutralCultures加载到IList里面.
然后遍历AllCultures,以确保它的ThreeLetterISOLanguageName在列表中,如果不添加它. @H_301_2@有最好的做法吗? @H_301_2@谢谢
解决方法
查看不同
CultureTypes
值的参考.它告诉你每个包含什么.
@H_301_2@我想你想要一切除了特定文化的东西?您可以将所有非特定文化组合成一个集合或获得所有文化,并排除特定文化.第二种方法在LINQ中最容易表达:
var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures) .Except(CultureInfo.GetCultures(CultureTypes.SpecificCultures));