ใครช่วยยกตัวอย่างแสดงให้เห็นถึงการใช้งานวัฒนธรรมคงที่บ้างไหม? ฉันไม่เข้าใจว่าเอกสารอธิบายอะไร
ใครช่วยยกตัวอย่างแสดงให้เห็นถึงการใช้งานวัฒนธรรมคงที่บ้างไหม? ฉันไม่เข้าใจว่าเอกสารอธิบายอะไร
คำตอบ:
วัฒนธรรมคงที่เป็นวัฒนธรรมพิเศษซึ่งมีประโยชน์เพราะจะไม่เปลี่ยนแปลง วัฒนธรรมปัจจุบันสามารถเปลี่ยนจากผู้ใช้รายหนึ่งเป็นผู้อื่นหรือแม้แต่จากการวิ่งหนึ่งไปสู่อีกคนหนึ่งดังนั้นคุณจึงไม่สามารถไว้ใจได้ว่าจะยังคงเหมือนเดิม
ความสามารถในการใช้วัฒนธรรมเดียวกันในแต่ละครั้งมีความสำคัญมากในหลาย ๆ กระแสตัวอย่างเช่นการทำให้เป็นอนุกรม: คุณสามารถมีค่า 1,1 ในหนึ่งวัฒนธรรมและ 1.1 ในอีกหนึ่ง หากคุณจะพยายามวิเคราะห์ค่า "1,1" ในวัฒนธรรมที่สองการแยกวิเคราะห์จะล้มเหลว อย่างไรก็ตามคุณสามารถใช้วัฒนธรรมที่ไม่เปลี่ยนแปลงเพื่อแปลงตัวเลขเป็นสตริงและแยกวิเคราะห์ในภายหลังจากคอมพิวเตอร์เครื่องใดก็ได้ด้วยชุดวัฒนธรรมใด ๆ
// 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
เนมสเปซ
CultureInfo.InvariantCulture
ผลงานเพราะคุณต่อเนื่องกับวัฒนธรรมเดียวกัน .... ถ้าอย่างนั้นมันก็ไม่เหมือนกับการใช้CultureInfo.CurrentCulture
ใช่มั้ย
CultureInfo.InvariantCulture
CultureInfo.InvariantCulture
หากคุณใช้CultureInfo.CurrentCulture
การทำให้เป็นอันดับผู้ใช้ของคุณอาจมี "en-US" เป็นวัฒนธรรมปัจจุบัน ผู้ใช้รายถัดไปที่แยกวิเคราะห์กลับเป็นทศนิยมอาจมีวัฒนธรรมปัจจุบันที่ใช้ "," สำหรับตัวคั่น
วัฒนธรรมปลอมตามภาษาอังกฤษพร้อมกับพฤติกรรมที่กำหนดไว้ ยกตัวอย่างเช่นเขียนสิ่งต่าง ๆ ลงในไฟล์กำหนดค่าเพื่อให้สามารถอ่านและเขียนได้โดยไม่คำนึงถึงวัฒนธรรมที่ผู้ใช้กำหนดไว้
โดยทั่วไปจะเป็นวัฒนธรรมเฉพาะที่เป็นเทียมและจะไม่เปลี่ยนแปลง
มันใช้สำหรับสิ่งที่เหมือนกันโดยไม่คำนึงถึงวัฒนธรรม (ซึ่งไม่จำเป็นต้องแปลเป็นบางวัฒนธรรม X ให้เหมาะสม)
เป็นตัวอย่าง - https://msdn.microsoft.com/en-us/library/4c5zdc6a(v=vs.100).aspx เมื่อคุณเขียนไฟล์เฉพาะแอปที่ผู้ใช้ไม่ควรยุ่งเกี่ยวกับคุณควรใช้ InvariantCulture สำหรับวิธีการทั้งหมดที่ใช้ในพารามิเตอร์ทางวัฒนธรรม
โปรดทราบว่าตามเอกสารที่ลิงก์ไว้ด้านบน:
อย่างไรก็ตามแอปพลิเคชันควรใช้วัฒนธรรมคงที่เฉพาะสำหรับกระบวนการที่ต้องการผลลัพธ์ที่ไม่ขึ้นกับวัฒนธรรมเช่นการจัดรูปแบบและการแยกวิเคราะห์ข้อมูลที่ยังคงอยู่กับไฟล์
วัฒนธรรมที่ไม่แปรเปลี่ยนคือความรู้สึกไวต่อวัฒนธรรม มันเกี่ยวข้องกับภาษาอังกฤษ แต่ไม่ได้มีประเทศ / ภูมิภาคใด ๆ
CultureInfo.InvariantCulture ดึงอินสแตนซ์ของวัฒนธรรมที่ไม่เปลี่ยนแปลง มันสามารถใช้ในเกือบทุกวิธีใน System.Globalization namespace ที่ต้องการวัฒนธรรม
วัตถุที่ส่งคืนโดยคุณสมบัติเช่น CompareInfo, DateTimeFormat และ NumberFormat ยังสะท้อนถึงการเปรียบเทียบสตริงและการจัดรูปแบบของวัฒนธรรมที่ไม่เปลี่ยนแปลง คุณสมบัติ InvariantCulture มีประโยชน์เมื่อคุณต้องการแสดงข้อมูลที่มีอยู่ในรูปแบบที่ไม่ขึ้นกับวัฒนธรรม
ตัวอย่างเช่นถ้าคุณต้องการแสดงตัวเลขหรือวันที่และเวลาในรูปแบบที่เป็นอิสระที่เฉพาะเจาะจงของวัฒนธรรมในปัจจุบันโปรแกรมที่คุณสามารถใช้CultureInfo.InvariantCulture
มันเป็นภาษาอังกฤษสากลที่ไม่เฉพาะเจาะจงสำหรับภูมิภาคทั่วไปและข้อมูลอื่น ๆ ที่เกี่ยวข้อง มันเหมือนภาษาของภาษาการเขียนโปรแกรมเอง คุณสามารถเชื่อถือได้ในการตั้งค่าปฏิทินสากล ในสถานการณ์ที่คุณต้องการสร้างชื่อคอนโทรลเลอร์, ชื่อ URL, ชื่อผู้รับมอบสิทธิ์ ... ฯลฯ และต้องการสิ่งต่าง ๆ ที่จะดำเนินการอย่างเป็นธรรมชาติและเป็นสากลในหมู่ผู้ใช้ทั้งหมด