주어진 다음의 두 문화 :.NET : InvariantCulture와 en-US간에 차이점이 있습니까?
CultureInfo c1 = InvariantCulture;
CultureInfo c2 = new CultureInfo("en-US");
와 내가 모두 문화에 대한 특정 정보의 모든 부분, 예컨대 :
c1.DateTimeInfo.ShortDatePattern;
c2.DateTimeInfo.ShortDatePattern;
c1.DateTimeInfo.LongDatePattern;
c2.DateTimeInfo.LongDatePattern;
c1.NumberFormat.CurrencyDecimalDigits;
c2.NumberFormat.CurrencyDecimalDigits;
c1.TextInfo.IsRightToLeft;
c2.TextInfo.IsRightToLeft;
내가 어떤 차이점을 찾을 것인가를 조사했다?
다른 말로하면, InvariantCulture는 모든 목적으로 "en-US"문화와 동일합니까?
너는 단지 이것을 호기심으로 묻는가? 각 문화권에는 명확하게 정의 된 특정 유스 케이스가 있습니다. 그들이 동일하든 그렇지 않든 상관없이 소프트웨어를 작성하는 과정에는 불리합니다. –
InvariantCulture를 사용할 수 있는지 알고 싶기 때문에 묻습니다. "문화가 뭔지 모르겠다. 내가 뭐라 구요?" 날짜 나 돈 값 또는 숫자를 구문 분석하려고하면 문화가 무엇인지 알지 못합니다. 여기 엔 en-US에도 날짜를 쓰는 방법에는 여러 가지가 있습니다. 그 사람이 의미하는 영어의 하위 문화가 무엇인지 어떻게 알 수 있습니까? 그래서 그들 사이의 차이점을 묻는 것으로, CurrentThreadCulture, CurrentUICulture 또는 CurrentCulture를 강요하기보다는 InvariantCulture를 사용하여 얼마나 자주 벗어날 수 있는지 보았습니다. –
나는 아무것도 가지고 가려고하지 않는 것이 좋습니다. 현재의 문화는 기계를 넘어서는 불변성이나 문화의 변화가 필요없는 모든 것에 사용해야합니다. 제어 할 수없고 현재 culture와 일치하지 않고 특정 형식을 따르지 않고 해당 형식을 만드는 데 사용 된 culture에 태그를 지정하지 않은 데이터를 구문 분석하려고하면 아마도, 문화는 사용자가 선택할 수 있어야합니다. 불변량이 당신을 도울 것이라고 생각하지 않습니다. –