Adakah yang bisa memberikan contoh untuk menunjukkan penggunaan Budaya Invarian ? Saya tidak mengerti apa yang dijelaskan oleh dokumentasi itu.
Adakah yang bisa memberikan contoh untuk menunjukkan penggunaan Budaya Invarian ? Saya tidak mengerti apa yang dijelaskan oleh dokumentasi itu.
Jawaban:
Budaya invarian adalah budaya khusus yang berguna karena tidak akan berubah. Budaya saat ini dapat berubah dari satu pengguna ke yang lain, atau bahkan dari satu lari ke yang lain, sehingga Anda tidak bisa bergantung padanya tetap sama.
Mampu menggunakan budaya yang sama setiap kali sangat penting dalam beberapa aliran, misalnya, serialisasi: Anda dapat memiliki nilai 1,1 di satu budaya dan 1,1 di yang lain. Jika Anda akan mencoba menguraikan nilai "1,1" di budaya kedua, maka penguraian akan gagal. Namun Anda dapat menggunakan budaya invarian untuk mengonversi angka menjadi string dan kemudian menguraikannya kembali dari komputer mana pun dengan kumpulan budaya apa pun.
// Use some non-invariant culture.
CultureInfo nonInvariantCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = nonInvariantCulture;
decimal dec = 1.1m;
string convertedToString = dec.ToString();
// Simulate another culture being used,
// following code can run on another computer.
nonInvariantCulture.NumberFormat.NumberDecimalSeparator = ",";
decimal parsedDec;
try
{
// This fails because value cannot be parsed.
parsedDec = decimal.Parse(convertedToString);
}
catch (FormatException)
{
}
// However you always can use Invariant culture:
convertedToString = dec.ToString(CultureInfo.InvariantCulture);
// This will always work because you serialized with the same culture.
parsedDec = decimal.Parse(convertedToString, CultureInfo.InvariantCulture);
System.Globalization
namespace.
CultureInfo.InvariantCulture
karya karena Anda serial dengan budaya yang sama .... maka bukankah itu sama dengan menggunakan CultureInfo.CurrentCulture
?
CultureInfo.InvariantCulture
maka Anda tahu bahwa Anda akan selalu dapat mengurai kembali menggunakan desimal CultureInfo.InvariantCulture
. Jika Anda gunakan CultureInfo.CurrentCulture
untuk membuat cerita bersambung, pengguna Anda mungkin memiliki "en-US" sebagai budaya mereka saat ini. Pengguna selanjutnya yang menguraikannya kembali ke desimal mungkin memiliki budaya saat ini yang menggunakan "," untuk pemisah.
Budaya palsu berdasarkan bahasa Inggris dengan perilaku yang jelas. Bagus untuk menulis, misalnya, memasukkan file ke dalam file konfigurasi sehingga dapat dibaca dan ditulis terlepas dari budaya yang telah ditetapkan pengguna.
Pada dasarnya itu adalah budaya spesifik yang artifisial dan tidak akan berubah .
Ini digunakan untuk hal-hal yang sama terlepas dari budaya (yang tidak perlu diterjemahkan ke beberapa budaya X agar sesuai)
sebagai contoh - https://msdn.microsoft.com/en-us/library/4c5zdc6a(v=vs.100).aspx . Saat Anda menulis file khusus aplikasi yang tidak boleh dipusingkan oleh pengguna, Anda harus menggunakan InvariantCulture untuk semua metode yang menggunakan parameter budaya.
Perhatikan bahwa per dokumen yang ditautkan di atas:
Namun, aplikasi harus menggunakan kultur invarian hanya untuk proses yang membutuhkan hasil kultur-independen, seperti memformat dan mem-parsing data yang bertahan ke file.
Budaya invarian adalah budaya-sensitif; ini dikaitkan dengan bahasa Inggris tetapi tidak dengan negara / wilayah mana pun.
CultureInfo.InvariantCulture mengambil contoh dari budaya invarian. Ini dapat digunakan di hampir semua metode di System.Nama namespace global yang membutuhkan budaya.
Objek yang dikembalikan oleh properti seperti CompareInfo, DateTimeFormat, dan NumberFormat juga mencerminkan perbandingan string dan memformat konvensi budaya invarian. Properti InvariantCulture sangat berguna ketika Anda ingin menampilkan data tetap dalam format yang bebas budaya .
Misalnya, jika Anda ingin menampilkan angka atau waktu dalam format tertentu terlepas dari budaya aplikasi saat ini, Anda dapat menggunakan CultureInfo.InvariantCulture .
Ini adalah bahasa Inggris non-regional-universal universal sederhana dan info terkait lainnya. Ini seperti bahasa dari bahasa pemrograman itu sendiri. Anda dapat mengandalkannya dalam mengatur kalender universal; dalam situasi di mana Anda perlu membuat nama pengontrol, URL, nama delegasi ... dll. dan perlu hal-hal untuk bertindak secara alami dan universal di antara semua pengguna.