public static void Main() { NumberFormatInfo nfi1 = NumberFormatInfo.CurrentInfo; NumberFormatInfo nfi2 = CultureInfo.CurrentCulture.NumberFormat; Console.WriteLine("Objects equal: {0}", nfi1.Equals(nfi2)); Console.WriteLine("Equal references: {0}\n", Object.ReferenceEquals(nfi1, nfi2)); PropertyInfo[] props = nfi1.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); Array.Sort(props, new Example()); Console.WriteLine("Properties of NumberFormat.CurrentInfo object:"); foreach (var prop in props) { if (prop.PropertyType.IsArray) { Array arr = prop.GetValue(nfi1) as Array; Console.Write(String.Format(" {0}: ", prop.Name) + "{ "); int ctr = 0; foreach (var item in arr) { Console.Write("{0}{1}", item, ctr == arr.Length - 1 ?" }" : ", "); ctr++; } Console.WriteLine(); } else { Console.WriteLine(" {0}: {1}", prop.Name, prop.GetValue(nfi1)); } } }
public static void Main() { var cultureCode = "sq-AL"; var culture = CultureInfo.GetCultureInfo(cultureCode); NumberFormatInfo nfi1 = culture.NumberFormat; PropertyInfo[] props = nfi1.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); Array.Sort(props, new Example()); Console.WriteLine("Properties of NumberFormat.CurrentInfo object:"); foreach (var prop in props) { if (prop.PropertyType.IsArray) { Array arr = prop.GetValue(nfi1) as Array; Console.Write(String.Format(" {0}: ", prop.Name) + "{ "); int ctr = 0; foreach (var item in arr) { Console.Write("{0}{1}", item, ctr == arr.Length - 1 ?" }" : ", "); ctr++; } Console.WriteLine(); } else { Console.WriteLine(" {0}: {1}", prop.Name, prop.GetValue(nfi1)); } } Console.WriteLine(""); Console.Write(String.Format(" \"{0}\": ", cultureCode) + "{"); foreach (var prop in props) { if (prop.Name == "DigitSubstitution" || prop.Name == "IsReadOnly" || prop.Name == "NativeDigits" || prop.Name == "NaNSymbol") { continue; } if (prop.PropertyType.IsArray) { Array arr = prop.GetValue(nfi1) as Array; Console.Write(String.Format("{0}: ", prop.Name) + "[]int32{ "); int ctr = 0; foreach (var item in arr) { Console.Write("{0}{1}", item, ctr == arr.Length - 1 ?" }" : ", "); ctr++; } Console.Write(","); } else { if (prop.GetValue(nfi1).GetType() == typeof(string)) { Console.Write("{0}: \"{1}\",", prop.Name, prop.GetValue(nfi1)); } else { Console.Write("{0}: {1},", prop.Name, prop.GetValue(nfi1)); } } } Console.Write("},"); }