CultureInfo 생성자

정의

CultureInfo 클래스의 새 인스턴스를 초기화합니다.

오버로드

CultureInfo(Int32)

문화권 식별자별로 지정된 문화권을 기반으로 하는 CultureInfo 클래스의 새 인스턴스를 초기화합니다.

CultureInfo(String)

이름에 지정된 문화권을 기반으로 CultureInfo 클래스의 새 인스턴스를 초기화합니다.

CultureInfo(Int32, Boolean)

문화권 식별자가 지정한 문화권 및 Windows에서 사용자가 선택한 문화권 설정을 사용할지 여부를 지정하는 값에 따라 클래스의 새 CultureInfo instance 초기화합니다.

CultureInfo(String, Boolean)

이름으로 지정된 문화권 및 Windows에서 사용자가 선택한 문화권 설정을 사용할지 여부를 지정하는 값에 따라 클래스의 새 instance CultureInfo 초기화합니다.

CultureInfo(Int32)

문화권 식별자별로 지정된 문화권을 기반으로 하는 CultureInfo 클래스의 새 인스턴스를 초기화합니다.

public:
 CultureInfo(int culture);
public CultureInfo (int culture);
new System.Globalization.CultureInfo : int -> System.Globalization.CultureInfo
Public Sub New (culture As Integer)

매개 변수

culture
Int32

미리 정의된 CultureInfo 식별자, 기존 LCID 개체의 CultureInfo 속성 또는 Windows 전용 문화권 식별자입니다.

예외

culture가 0보다 작은 경우

culture가 올바른 문화권 식별자가 아닙니다. 자세한 내용은 호출자 참고 사항을 참조하세요.

설명

Windows 시스템에서 사용할 수 있는 문화권에 대해 미리 정의된 문화권 식별자는 Windows에서 지원하는 언어/지역 이름 목록의 언어태그 열에 나열됩니다. 문화권 이름은 BCP 47에 정의된 표준을 따릅니다.

대부분의 경우 culture 매개 변수는 해당 NLS(국가 언어 지원) 로캘 식별자에 매핑됩니다. 매개 변수의 culture 값은 새 CultureInfoLCID 속성 값이 됩니다.

로캘 이름은 LCID보다 선호되므로 로캘 이름 생성자 CultureInfo.CultureInfo를 호출하는 것이 좋습니다. 사용자 지정 로캘의 경우 로캘 이름이 필요합니다.

사용자는 제어판 지역 및 언어 옵션 부분을 통해 Windows의 현재 문화권과 연결된 일부 값을 재정의하도록 선택할 수 있습니다. 예를 들어 사용자는 날짜를 다른 형식으로 표시하거나 문화권의 기본값이 아닌 다른 통화를 사용하도록 선택할 수 있습니다. 지정된 문화권 식별자가 현재 Windows 문화권의 문화권 식별자와 일치하는 경우 이 생성자는 속성에서 반환된 instance 속성에 대한 사용자 설정과 속성에서 반환된 DateTimeFormat instance 속성을 포함하여 이러한 재정의 DateTimeFormatInfoNumberFormatInfo 를 사용하는 을 NumberFormat 만듭니다CultureInfo. 사용자 설정이 와 연결된 문화권과 CultureInfo 호환되지 않는 경우(예: 선택한 달력이 중 하나가 OptionalCalendars아닌 경우) 메서드의 결과와 속성 값이 정의되지 않습니다.

지정된 문화권 식별자가 현재 Windows 문화권의 식별자와 일치하지 않는 경우 이 생성자는 지정된 문화권의 기본값을 사용하는 을 만듭니다 CultureInfo .

속성은 UseUserOverride 항상 로 설정됩니다 true.

예를 들어 아랍어(사우디아라비아)가 현재 Windows 문화권이고 사용자가 히즈리에서 그레고리오로 달력을 변경한 경우를 가정해 보겠습니다.

유로화를 사용하는 문화권의 경우 .NET Framework 및 Windows XP는 기본 통화를 유로로 설정합니다. 그러나 이전 버전의 Windows는 그렇지 않습니다. 따라서 이전 버전의 Windows 사용자가 제어판 지역 및 언어 옵션 부분을 통해 통화 설정을 변경하지 않은 경우 통화가 잘못되었을 수 있습니다. 통화에 대 한.NET Framework 기본 설정을 사용 하려면 애플리케이션을 사용할지는 CultureInfo 받아들이는 생성자 오버 로드를 useUserOverride 매개 변수 설정 false.

참고

이전 버전과의 호환성을 위해 0x0004 또는 0x7c04 매개 변수를 사용하여 culture 생성된 문화권에는 각각 또는 zh-CHTzh-CHS 속성이 Name 있습니다. 이전 이름을 사용할 이유가 없는 한 또는 zh-Hantzh-Hans 현재 표준 문화권 이름을 사용하여 문화권을 구성하는 것을 선호해야 합니다.

호출자 참고

.NET Framework 3.5 이전 버전에서는 가 유효한 문화권 식별자가 아닌 경우 culture 를 throw ArgumentException 합니다. .NET Framework 4부터 이 생성자는 을 CultureNotFoundExceptionthrow합니다. Windows 7 이상에서 .NET Framework 4 이상에서 실행되는 앱부터 메서드는 culture 운영 체제에서 식별자가 있는 개체를 검색 CultureInfo 하려고 시도합니다. 운영 체제에서 해당 문화권을 지원하지 않으면 메서드가 예외를 CultureNotFoundException throw합니다.

.NET 6 이상 버전 CultureNotFoundException 에서는 앱이 세계화 고정 모드(예: 일부 Docker 컨테이너) 및 고정 문화권 이외의 문화권이 지정된 환경에서 실행 중인 경우 이 throw됩니다.

추가 정보

적용 대상

CultureInfo(String)

이름에 지정된 문화권을 기반으로 CultureInfo 클래스의 새 인스턴스를 초기화합니다.

public:
 CultureInfo(System::String ^ name);
public CultureInfo (string name);
new System.Globalization.CultureInfo : string -> System.Globalization.CultureInfo
Public Sub New (name As String)

매개 변수

name
String

미리 정의된 CultureInfo 이름, 기존 NameCultureInfo 또는 Windows 전용 문화권 이름입니다. name은(는) 대/소문자를 구분하지 않습니다.

예외

name가 null입니다.

name이 유효한 문화권 이름이 아닙니다. 자세한 내용은 호출자 참고 사항 섹션을 참조하세요.

예제

다음 예제에서는 현재 문화권을 검색합니다. 프랑스(프랑스) 문화권 이외의 경우 생성자를 호출 CultureInfo(String) 하여 프랑스(프랑스) 문화를 나타내는 개체를 인스턴스화 CultureInfo 하고 현재 문화권으로 만듭니다. 그렇지 않으면 프랑스어(룩셈부르크) 문화권을 나타내는 개체를 인스턴스화 CultureInfo 하고 현재 문화권으로 만듭니다.

using System;
using System.Globalization;

public class ChangeEx1
{
    public static void Main()
    {
        CultureInfo current = CultureInfo.CurrentCulture;
        Console.WriteLine("The current culture is {0}", current.Name);
        CultureInfo newCulture;
        if (current.Name.Equals("fr-FR"))
            newCulture = new CultureInfo("fr-LU");
        else
            newCulture = new CultureInfo("fr-FR");

        CultureInfo.CurrentCulture = newCulture;
        Console.WriteLine("The current culture is now {0}",
                          CultureInfo.CurrentCulture.Name);
    }
}
// The example displays output like the following:
//     The current culture is en-US
//     The current culture is now fr-FR
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0}", current.Name)
      Dim newCulture As CultureInfo
      If current.Name.Equals("fr-FR") Then
         newCulture = New CultureInfo("fr-LU")
      Else
         newCulture = new CultureInfo("fr-FR")
      End If

      CultureInfo.CurrentCulture = newCulture
      Console.WriteLine("The current culture is now {0}",
                        CultureInfo.CurrentCulture.Name)
   End Sub
End Module
' The example displays output like the following:
'     The current culture is en-US
'     The current culture is now fr-FR

설명

Windows 시스템에서 미리 정의된 문화권 이름 목록은 Windows에서 지원하는 언어/지역 이름 목록의 언어태그 열을 참조하세요. 문화권 이름은 BCP 47에 정의된 표준을 따릅니다. 또한 Windows 10 name 시작하여 유효한 BCP-47 언어 태그일 수 있습니다.

가 이String.Emptyname 생성자는 고정 문화권의 instance 만듭니다. 이는 속성 값을 InvariantCulture 검색하는 것과 같습니다.

사용자는 제어판 지역 및 언어 옵션 부분을 통해 Windows의 현재 문화권과 연결된 일부 값을 재정의하도록 선택할 수 있습니다. 예를 들어 사용자는 날짜를 다른 형식으로 표시하거나 문화권의 기본값이 아닌 다른 통화를 사용하도록 선택할 수 있습니다. 연결된 name 문화권 식별자가 현재 Windows 문화권의 문화권 식별자와 일치하는 경우 이 생성자는 속성에서 반환된 instance 속성에 대한 사용자 설정 및 속성에서 반환 DateTimeFormat 된 instance 속성을 포함하여 이러한 재정의 NumberFormatInfoDateTimeFormatInfo 를 사용하는 개체를 NumberFormat 만듭니다CultureInfo. 사용자 설정이 와 연결된 CultureInfo문화권과 호환되지 않는 경우(예: 선택한 일정이 중 하나가 OptionalCalendars아닌 경우) 메서드의 결과와 속성 값이 정의되지 않습니다.

연결된 name 문화권 식별자가 현재 Windows 문화권의 문화권 식별자와 일치하지 않는 경우 이 생성자는 지정된 문화권의 기본값을 사용하는 개체를 만듭니다 CultureInfo .

속성은 UseUserOverride 항상 로 설정됩니다 true.

예를 들어 아랍어(사우디아라비아)가 현재 Windows 문화권이고 사용자가 히즈리에서 그레고리오로 달력을 변경한다고 가정해 보겠습니다.

LCIDCultureInfo 의 속성은 지정된 이름과 연결된 문화권 식별자로 설정됩니다.

호출자 참고

.NET Framework 3.5 이전 버전에서는 가 유효한 문화권 이름이 아닌 경우 name 를 throw ArgumentException 합니다. .NET Framework 4부터 이 생성자는 을 CultureNotFoundExceptionthrow합니다. Windows 7 이상에서 .NET Framework 4 이상에서 실행되는 앱부터 메서드는 name 운영 체제에서 식별자가 있는 개체를 검색 CultureInfo 하려고 시도합니다. 운영 체제에서 해당 문화권을 지원하지 않는 경우 및 가 보조 또는 대체 문화권의 이름이 아닌 경우 name 메서드는 예외를 CultureNotFoundException throw합니다.

.NET 6 이상 버전 CultureNotFoundException 에서는 앱이 세계화 고정 모드(예: 일부 Docker 컨테이너) 및 고정 문화권 이외의 문화권이 지정된 환경에서 실행 중인 경우 이 throw됩니다.

추가 정보

적용 대상

CultureInfo(Int32, Boolean)

문화권 식별자가 지정한 문화권 및 Windows에서 사용자가 선택한 문화권 설정을 사용할지 여부를 지정하는 값에 따라 클래스의 새 CultureInfo instance 초기화합니다.

public:
 CultureInfo(int culture, bool useUserOverride);
public CultureInfo (int culture, bool useUserOverride);
new System.Globalization.CultureInfo : int * bool -> System.Globalization.CultureInfo
Public Sub New (culture As Integer, useUserOverride As Boolean)

매개 변수

culture
Int32

미리 정의된 CultureInfo 식별자, 기존 LCID 개체의 CultureInfo 속성 또는 Windows 전용 문화권 식별자입니다.

useUserOverride
Boolean

true 사용자가 선택한 문화권 설정을 사용하려면(Windows에만 해당); false 기본 문화권 설정을 사용합니다.

예외

culture가 0보다 작은 경우

culture가 올바른 문화권 식별자가 아닙니다. 자세한 내용은 호출자 참고 사항을 참조하세요.

설명

Windows 시스템에서 사용할 수 있는 미리 정의된 문화권 식별자는 Windows에서 지원하는 언어/지역 이름 목록의 언어태그 열에 나열됩니다. 문화권 이름은 BCP 47에 정의된 표준을 따릅니다.

대부분의 경우 culture 매개 변수는 해당 NLS(국가 언어 지원) 로캘 식별자에 매핑됩니다. 매개 변수의 culture 값은 새 CultureInfoLCID 속성 값이 됩니다.

로캘 이름은 LCID보다 선호되므로 로캘 이름 생성자 CultureInfo.CultureInfo를 호출하는 것이 좋습니다. 사용자 지정 로캘의 경우 로캘 이름이 필요합니다.

사용자는 제어판 지역 및 언어 옵션 부분을 통해 Windows의 현재 문화권과 연결된 일부 값을 재정의하도록 선택할 수 있습니다. 예를 들어 사용자는 날짜를 다른 형식으로 표시하거나 문화권의 기본값이 아닌 다른 통화를 사용하도록 선택할 수 있습니다.

애플리케이션은 일반적으로 허용 하지 않습니다 사용자 재정의 합니다. 재정의를 허용하지 않는다고 해서 데이터 안정성이 보장되지는 않습니다. 자세한 내용은 블로그 항목 문화권 데이터를 안정적으로 간주해서는 안 됨(고정 제외)을 참조하세요.

속성이 UseUserOverride 로 설정 true 되고 지정된 문화권 식별자가 현재 Windows 문화권의 식별자와 일치하는 경우 이 생성자는 속성에서 반환된 instance 속성에 대한 사용자 설정 및 속성에서 반환 DateTimeFormat 된 instance 속성을 포함하여 이러한 재정의 NumberFormatInfoDateTimeFormatInfo 를 사용하는 을 NumberFormat 만듭니다CultureInfo. 사용자 설정이 와 연결된 CultureInfo문화권과 호환되지 않는 경우(예: 선택한 일정이 중 하나가 OptionalCalendars아닌 경우) 메서드의 결과와 속성 값이 정의되지 않습니다.

그렇지 않으면 이 생성자는 지정된 문화권의 기본값을 사용하는 을 만듭니다 CultureInfo .

매개 변수의 useUserOverride 값은 속성의 값이 UseUserOverride 됩니다.

예를 들어 아랍어(사우디아라비아)가 현재 Windows 문화권이고 사용자가 히즈리에서 그레고리오로 달력을 변경한 경우를 가정해 보겠습니다.

유로화를 사용하는 문화권의 경우 .NET Framework Windows XP는 기본 통화를 유로로 설정합니다. 그러나 이전 버전의 Windows는 그렇지 않습니다. 따라서 이전 버전의 Windows 사용자가 제어판 지역 및 언어 옵션 부분을 통해 통화 설정을 변경하지 않은 경우 통화가 잘못되었을 수 있습니다. 통화에 대 한.NET Framework 기본 설정을 사용 하려면 애플리케이션 설정 해야 합니다 useUserOverride 매개 변수를 false입니다.

참고

이전 버전과의 호환성을 위해 0x0004 또는 0x7c04 매개 변수를 사용하여 culture 생성된 문화권에는 Name 각각 zh-CHS 또는 zh-CHT의 속성이 있습니다. 이전 이름을 사용할 이유가 없는 한 또는 zh-Hant의 zh-Hans 현재 표준 문화권 이름을 사용하여 문화권을 구성하는 것을 선호해야 합니다.

호출자 참고

.NET Framework 3.5 이전 버전에서는 가 유효한 문화권 식별자가 아닌 경우 culture 를 throw ArgumentException 합니다. .NET Framework 4부터 이 생성자는 을 CultureNotFoundExceptionthrow합니다. Windows 7 이상에서 .NET Framework 4 이상에서 실행되는 앱부터 메서드는 culture 운영 체제에서 식별자가 있는 개체를 검색 CultureInfo 하려고 시도합니다. 운영 체제에서 해당 문화권을 지원하지 않으면 메서드가 예외를 CultureNotFoundException throw합니다.

.NET 6 이상 버전 CultureNotFoundException 에서는 앱이 세계화 고정 모드(예: 일부 Docker 컨테이너) 및 고정 문화권 이외의 문화권이 지정된 환경에서 실행 중인 경우 이 throw됩니다.

추가 정보

적용 대상

CultureInfo(String, Boolean)

이름으로 지정된 문화권 및 Windows에서 사용자가 선택한 문화권 설정을 사용할지 여부를 지정하는 값에 따라 클래스의 새 instance CultureInfo 초기화합니다.

public:
 CultureInfo(System::String ^ name, bool useUserOverride);
public CultureInfo (string name, bool useUserOverride);
new System.Globalization.CultureInfo : string * bool -> System.Globalization.CultureInfo
Public Sub New (name As String, useUserOverride As Boolean)

매개 변수

name
String

미리 정의된 CultureInfo 이름, 기존 NameCultureInfo 또는 Windows 전용 문화권 이름입니다. name은(는) 대/소문자를 구분하지 않습니다.

useUserOverride
Boolean

true 사용자가 선택한 문화권 설정을 사용하려면(Windows에만 해당); false 기본 문화권 설정을 사용합니다.

예외

name가 null입니다.

name 이 유효한 문화권 이름이 아닙니다. 자세한 내용은 호출자 참고 사항을 참조하세요.

설명

미리 정의된 문화권 이름 목록은 Windows에서 지원하는 언어/지역 이름 목록의 언어태그 열을 참조하세요. 문화권 이름은 BCP 47에 정의된 표준을 따릅니다. 또한 Windows 10 name 시작하여 유효한 BCP-47 언어 태그일 수 있습니다.

가 이String.Emptyname 생성자는 고정 문화권의 instance 만듭니다. 이는 속성 값을 InvariantCulture 검색하는 것과 같습니다.

사용자는 제어판 지역 및 언어 옵션 부분을 통해 현재 Windows 문화권과 연결된 일부 값을 재정의하도록 선택할 수 있습니다. 예를 들어 사용자는 날짜를 다른 형식으로 표시하거나 문화권의 기본값이 아닌 다른 통화를 사용하도록 선택할 수 있습니다.

애플리케이션은 일반적으로 허용 하지 않습니다 사용자 재정의 합니다. 재정의를 허용하지 않는다고 해서 데이터 안정성이 보장되지는 않습니다. 자세한 내용은 블로그 항목 문화권 데이터를 안정적으로 간주해서는 안 됨(고정 제외)을 참조하세요.

속성이 UseUserOverride 로 설정 true 되고 지정된 문화권 이름과 연결된 문화권 식별자가 현재 Windows 문화권의 문화권 식별자와 일치하는 경우 이 생성자는 속성에서 반환된 instance 속성에 대한 사용자 설정 및 속성에서 반환 DateTimeFormat 된 instance 속성을 포함하여 이러한 재정의 NumberFormatInfoDateTimeFormatInfo 를 사용하는 을 NumberFormat 만듭니다CultureInfo. 사용자 설정이 와 연결된 CultureInfo문화권과 호환되지 않는 경우(예: 선택한 일정이 중 하나가 OptionalCalendars아닌 경우) 메서드의 결과와 속성 값이 정의되지 않습니다.

그렇지 않으면 이 생성자는 지정된 문화권의 기본값을 사용하는 을 만듭니다 CultureInfo .

매개 변수의 useUserOverride 값은 속성의 값이 UseUserOverride 됩니다.

예를 들어 아랍어(사우디아라비아)가 Windows의 현재 문화권이고 사용자가 히즈리에서 그레고리오로 달력을 변경한다고 가정해 보겠습니다.

LCIDCultureInfo 의 속성은 지정된 이름과 연결된 문화권 식별자로 설정됩니다.

유로화를 사용하는 문화권의 경우 .NET Framework Windows XP는 기본 통화를 유로로 설정합니다. 그러나 이전 버전의 Windows에서는 이 작업을 수행하지 않습니다. 따라서 이전 버전의 Windows 사용자가 제어판 지역 및 언어 옵션 부분을 통해 통화 설정을 변경하지 않은 경우 통화가 잘못되었을 수 있습니다. 통화에 대 한.NET Framework 기본 설정을 사용 하려면 애플리케이션 설정 해야 합니다 useUserOverride 매개 변수를 false입니다.

호출자 참고

.NET Framework 3.5 이전 버전에서는 가 유효한 문화권 이름이 아닌 경우 name 를 throw ArgumentException 합니다. .NET Framework 4부터 이 생성자는 을 CultureNotFoundExceptionthrow합니다. Windows 7 이상에서 .NET Framework 4 이상에서 실행되는 앱부터 메서드는 name 운영 체제에서 식별자가 있는 개체를 검색 CultureInfo 하려고 시도합니다. 운영 체제에서 해당 문화권을 지원하지 않는 경우 및 가 보조 또는 대체 문화권의 이름이 아닌 경우 name 메서드는 예외를 CultureNotFoundException throw합니다.

.NET 6 이상 버전 CultureNotFoundException 에서는 앱이 세계화 고정 모드(예: 일부 Docker 컨테이너) 및 고정 문화권 이외의 문화권이 지정된 환경에서 실행 중인 경우 이 throw됩니다.

추가 정보

적용 대상