Szoftverfejlesztés .NET platformon - Jegyzet 16. fejezet
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
70-536 .NET Framework 2.0 Application Development Foundation
%TOC{depth="3"}%
Kultúrák használata
CultureInfo: kultúraspecifikus beállítások
- stringek összehasonlítása
- számok formázása és összehasonlítása
- dátumok összehasonlítása és formázása
- erőforrások használata
Három típusa van
- invariant culture: kultúrafüggetlen műveletek, ha fontos a konzisztencia.
Pl. program lejárati dátumának tárolása.
- neutral culture: olyan kultúrák, amiknek több változatuk van. Pl. en, fr, sp
- specific culture: kultúra + konkrét változat. Pl. fr-FR
Aktuális kultúra használata
- lekérdezése: Thread.CurrentThread.CurrentCulture,
Thread.CurrentThread.CurrentUICulture (grafikus megjelenítési beállítások, futás közben nem változtatható meg)
- pénznem formázása: salaryTextBox.Text = (100000).ToString("C");
Kultúrák felsorolása
- CultureInfo.GetCultures()
- CultureTypes-szal lehet szűkíteni, pl. AllCultures, NeutralCultures, InstalledWin32Cultures
RegionInfo: kultúrák további finomítása
RegionInfo demoRegion = new RegionInfo(usersCulture.LCID); // vagy RegionInfo demoRegion = new RegionInfo(usersCulture.Name);
NumberFormatInfo: számokkal kapcsolatos részletes információk, pl. tizedesjel. Létező kultúrában is lecserélhető, nem kell hozzá újat létrehozni.
- pénznem: usersCulture.NumberFormat.CurrencySymbol
- szám formázási adatok: usersCulture.NumberFormat.NumberDecimalSeparator
DateTimeFormatInfo: dátumokkal kapcsolatos részletes információk, pl. hét napjainak neve. Létező kultúrában is lecserélhető, nem kell hozzá újat létrehozni.
- DateSeparator
- DayNames
CompareInfo: összehasonlítás
CompareInfo demoInfo = Thread.CurrentThread.CurrentCulture.CompareInfo; demoInfo.Compare(str1, str2);
CompareOptions: összehasonlítás testreszabása
- IgnoreCase
- IgnoreNonSpace
- IgnoreSymbols: írásjeleket ne vegye figyelembe
- Ordinal: összehasonlítás unicode kód alapján
- OrdinalIgnoreCase
- StringSort: nem alfanumerikus karakterek kerülnek előre
Egyedi kultúra létrehozása
Telepíthető admin jogokkal, vagy létrehozható a CultureAndRegionInfoBuilder osztállyal. Az utóbbihoz kell egy referencia a sysglobl.dll-re.
Meglévő kultúra módosítása
CultureAndRegionInfoBuilder demoBuilder = new CultureAndRegionInfoBuilder("en-MS", CultureAndRegionModifiers.None); demoBuilder.LoadDataFromCultureInfo(new CultureInfo("en-US")); demoBuilder.LoadDataFromRegionInfo(new RegionInfo("US"));
Megváltoztathatók a property-k: CurrencyName, CultureName, NumberFormat, stb.
CultureAndRegionModifiers
- Neutral: neutrális kultúra
- None: specifikus kultúra
- Replacement: létező kultúrát helyettesít
-- Peti - 2007.07.03.