जवाबों:
Culture
प्रभावित करता है कि संस्कृति-निर्भर डेटा (दिनांक, मुद्राएं, संख्याएं आदि) कैसे प्रस्तुत किए जाते हैं। कुछ उदाहरण निम्नलिखित हैं:
var date = new DateTime(2000, 1, 2);
var number = 12345.6789;
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Console.WriteLine(date); // 02.01.2000 00:00:00
Console.WriteLine(number.ToString("C")); // 12.345,68 €
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
Console.WriteLine(date); // 2000-01-02 00:00:00
Console.WriteLine(number.ToString("C")); // 12 345,68 $
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Console.WriteLine(date); // 1/2/2000 12:00:00 AM
Console.WriteLine(number.ToString("C")); // $12,345.68
संस्कृति भी उसी तरह उपयोगकर्ता इनपुट के पार्सिंग को प्रभावित करती है:
const string numberString = "12.345,68";
decimal money;
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
money = decimal.Parse(numberString); // OK!
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
money = decimal.Parse(numberString); // FormatException is thrown, TryParse would return false
उन मामलों से सावधान रहें जहां पार्सिंग सफल हो जाती है लेकिन परिणाम वह नहीं है जो आप यह होने की उम्मीद करेंगे।
const string numberString = "12.345";
decimal money;
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
money = decimal.Parse(numberString); // 12345
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
money = decimal.Parse(numberString); // 12.345, where the . is a decimal point
UICulture
प्रभावित करता है कि कौन सी संसाधन फ़ाइल (संसाधन। lang .resx) आपके एप्लिकेशन द्वारा लोड की जाने वाली है।
इसलिए जर्मन संसाधनों (संभवतः स्थानीयकृत पाठ) को लोड करने के लिए आप UICulture
जर्मन संस्कृति पर सेट होंगे और जर्मन प्रारूपण (बिना किसी प्रभाव के जिन संसाधनों को लोड किया गया है) को प्रदर्शित करने के लिए आप सेट करेंगे Culture
।
CultureInfo
केवल संसाधन फ़ाइल को निर्धारित करने के लिए एक संपूर्ण ऑब्जेक्ट का उपयोग करने में क्या बिंदु है जहां string
पर्याप्त होगा? (उदा। की Language
संपत्ति FrameworkElement
)
Culture and UICulture
मान दो-अक्षर तार के जोड़े हैं, पहला भाषा को परिभाषित करने के लिए और दूसरा क्षेत्र को परिभाषित करने के लिए है। उदाहरण:
en-GB
यहाँ en
प्रतिनिधित्व करता है English
और GB
प्रतिनिधित्व करता हैGreat Briton
en-US
यहाँ en
प्रतिनिधित्व करता है English
और US
प्रतिनिधित्व करता हैUnited States
Culture
तिथि, समय जैसे संस्कृति पर निर्भर कार्यों के लिए उपयोग करें । और UICulture
सही संसाधन फ़ाइल लोड करने के लिए है।
@ वेच की भयानक व्याख्या के अलावा विचार करने के लिए बस एक छोटा सा मामला: आप UICulture और Culture (पृष्ठ स्तर और अनुप्रयोग स्तर) दोनों पर सेट कर सकते हैं।
उन्हें एप्लिकेशन स्तर पर सेट करने के लिए, web.config में वैश्वीकरण सत्र जोड़ें
जैसे <globalization uiCulture="es" culture="es-MX" />
और उन्हें पृष्ठ स्तर पर सेट करने के लिए, जो एक विशिष्ट (व्यक्तिगत) पृष्ठ पर जोड़ना अच्छा है, @ पृष्ठ निर्देश के भीतर संस्कृति और UICulture विशेषताओं को सेट करें
जैसे <%@ Page UICulture="es" Culture="es-MX" %>
प्रत्येक वेब ब्राउज़र के लिए UICulture संपत्ति बदल सकती है, जबकि संस्कृति स्थिर रहती है।
संस्कृति मूल्य केवल विशिष्ट संस्कृतियों के लिए सेट किया जा सकता है, जैसे कि एन-यूएस या एन-जीबी। यह एन के लिए उपयोग करने के लिए सही मुद्रा प्रतीक की पहचान करने की आवश्यकता को रोकता है, जहां एन-यूएस और एन-जीबी में अलग-अलग मुद्रा प्रतीक हैं। उपयोगकर्ता अपने ब्राउज़र में UI संस्कृति और संस्कृति सेट कर सकते हैं।