using System; using System.Globalization; using System.Linq; public class SamplesCultureInfo { public static void Main() { // Prints the header. Console.WriteLine(" {0} {1, 80}","SPECIFIC CULTURE", "PARENT CULTURE"); Action<CultureTypes, Func<CultureInfo, bool>> display = (c, exp) => { foreach (CultureInfo ci in CultureInfo.GetCultures(c).Where(exp).OrderBy(x => x.TwoLetterISOLanguageName)) { Console.Write("0x{0} {1} {2, -70}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName); Console.WriteLine("0x{0} {1} {2} : {3}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName, ci.Parent.IsNeutralCulture); } }; Action<CultureTypes> displayAll = c => display(c, x => true); // displayAll(CultureTypes.SpecificCultures); // displayAll(CultureTypes.NeutralCultures); //// Only one specific culture which parent culture is not neutral: // CultureInfo.GetCultures(CultureTypes.SpecificCultures).All(x => x.Parent.IsNeutralCulture).Dump(); // CultureInfo.GetCultures(CultureTypes.SpecificCultures).Count(x => !x.Parent.IsNeutralCulture).Dump(); //// This is that culture: display(CultureTypes.SpecificCultures, x => !x.Parent.IsNeutralCulture); // CultureInfo.GetCultures(CultureTypes.NeutralCultures).Count().Dump(); } }
Live codes:
https://dotnetfiddle.net/PCq4vR
https://dotnetfiddle.net/17Bkny
Output:
SPECIFIC CULTURE PARENT CULTURE 0x0803 ca-ES-valencia Valencian (Spain) 0x0403 ca-ES Catalan (Catalan) : False
Interesting: http://stackoverflow.com/questions/8354352/how-can-i-get-the-region-and-culture-info-for-bahamas
No comments:
Post a Comment