using System.Globalization;
public class SamplesCultureInfo
public static void Main()
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(string.Format("0x{0} {1} {2} xxx {3} yyy {4} zzz {5}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName, ci.NativeName, ci.TwoLetterISOLanguageName, ci.IsNeutralCulture).PadRight(100));
Console.WriteLine("0x{0} {1} {2} : {3} {4} ", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName, ci.NativeName, ci.Parent.IsNeutralCulture);
Action<CultureTypes> displayAll = c => display(c, x => true);
displayAll(CultureTypes.SpecificCultures);