Die statischen Methoden der CultureUtils-Klasse geben ein sortiertes Array aller, der spezifischen bzw. der neutralen Kulturen zurück.
// **********************************************
// Dies ist eines der 322 Rezepte aus dem
// C# 2005 Premium Codebook.
// Das Snippet wurde vom Autor mit freundlicher
// Genehmigung von Addison Wesley
// bei dotnet-snippets.de veröffentlicht.
// **********************************************
public class CultureUtils
{
/// <summary>
/// Vergleichsklasse für Kulturen
/// </summary>
internal class CultureComparer : IComparer<CultureInfo>
{
/// <summary>
/// Vergleicht die Namen zweier Kulturen
/// </summary>
public int Compare(CultureInfo x, CultureInfo y)
{
return x.EnglishName.CompareTo(y.EnglishName);
}
}
/// <summary>
/// Gibt die verfügbaren neutralen und spezifischen Kulturen zurück
/// </summary>
/// <returns>Gibt ein nach dem englischen Namen sortiertes Array
/// von CultureInfo-Objekten zurück</returns>
public static CultureInfo[] GetAllCultures()
{
// Die verfügbaren Kulturen einlesen
System.Globalization.CultureInfo[] cultures =
System.Globalization.CultureInfo.GetCultures(
System.Globalization.CultureTypes.FrameworkCultures);
// Sortieren
Array.Sort(cultures, new CultureComparer());
// Ergebnis zurückgeben
return cultures;
}
/// <summary>
/// Gibt die verfügbaren speziellen Kulturen zurück
/// </summary>
/// <returns>Gibt ein nach dem englischen Namen sortiertes Array
/// von CultureInfo-Objekten zurück</returns>
public static CultureInfo[] GetSpecificCultures()
{
// Die verfügbaren Kulturen einlesen
System.Globalization.CultureInfo[] cultures =
System.Globalization.CultureInfo.GetCultures(
System.Globalization.CultureTypes.SpecificCultures);
// Sortieren
Array.Sort(cultures, new CultureComparer());
// Ergebnis zurückgeben
return cultures;
}
/// <summary>
/// Gibt die verfügbaren neutralen Kulturen zurück
/// </summary>
/// <returns>Gibt ein nach dem englischen Namen sortiertes Array
/// von CultureInfo-Objekten zurück</returns>
public static CultureInfo[] GetNeutralCultures()
{
// Die verfügbaren Kulturen einlesen
System.Globalization.CultureInfo[] cultures =
System.Globalization.CultureInfo.GetCultures(
System.Globalization.CultureTypes.NeutralCultures);
// Sortieren
Array.Sort(cultures, new CultureComparer());
// Ergebnis zurückgeben
return cultures;
}
}
Kommentare zum Snippet