Share via


Microsoft.FSharp.Core 네임스페이스(F#)

이 네임스페이스에는 언어 기본 형식, 연산자, 특성, 기본 형식, 문자열, 서식이 지정된 I/O 등과 같은 핵심 F# 기능을 지원하는 기능이 포함됩니다.

네임스페이스/모듈 경로: Microsoft.FSharp.Core

어셈블리: FSharp.Core(FSharp.Core.dll)

namespace Microsoft.FSharp.Core

모듈

모듈

설명

ExtraTopLevelOperators 모듈

모듈이나 네임스페이스를 열지 않고 사용할 수 있는 추가 F# 연산자 및 형식입니다.

LanguagePrimitives 모듈

F# 언어와 연결된 언어 기본 형식입니다.

NumericLiterals 모듈

'dddI' 형식의 리터럴에 대한 F# 숫자 리터럴 구문의 기본 구현을 제공합니다.

Operators 모듈

기본 F# 연산자입니다. 이 모듈은 모든 F# 코드에서 자동으로 열립니다.

OptimizedClosures 모듈

함수 값 호출의 일부 개인 구현을 보관하는 데 사용되는 구현 모듈입니다.

Option 모듈

옵션에 대한 기본 연산입니다.

Printf 모듈

숫자 및 기타 데이터 형식에 대한 확장 가능한 printf 스타일 형식 지정입니다.

String 모듈

문자열 처리를 위한 함수형 프로그래밍 연산자입니다. 문자열에 대한 멤버 함수 및 StringRegex 형식의 기타 기능을 통해 문자열 작업을 추가로 수행할 수 있습니다.

형식 정의

형식

설명

[,,,]<'T> 형식

보통 0부터 시작하는 4차원 배열입니다. System.Array 형식의 메서드를 사용하여 0부터 시작하지 않는 배열을 만들 수 있습니다.

[,,]<'T> 형식

보통 0부터 시작하는 3차원 배열입니다. System.Array 형식의 메서드를 사용하여 0부터 시작하지 않는 배열을 만들 수 있습니다.

[,]<'T> 형식

보통 0부터 시작하는 2차원 배열입니다.

[]<'T> 형식

int[], string[] 등으로 작성된 1차원의 0부터 시작하는 배열입니다.

AbstractClassAttribute 형식

클래스 정의에 이 특성을 추가하면 해당 클래스가 추상 클래스가 됩니다. 즉, 클래스의 모든 메서드를 구현할 필요가 없습니다. 추상 클래스의 인스턴스는 직접 생성하지 못할 수 있습니다.

AllowNullLiteralAttribute 형식

형식에 이 특성을 추가하면 F# 코드 내의 형식에 대해 'null' 리터럴을 사용할 수 있습니다. 이 특성은 F#으로 정의된 클래스나 인터페이스 형식에만 추가할 수 있습니다.

AutoOpenAttribute 형식

이 특성은 두 가지 용도로 사용됩니다. 어셈블리에 적용하는 경우 이 특성에는 문자열 인수를 지정해야 하며, 이 인수는 해당 어셈블리의 올바른 모듈이나 네임스페이스를 나타내야 합니다. 이 어셈블리에 대한 참조를 사용하여 컴파일된 소스 코드 파일은 지정된 경로가 자동으로 열리는 환경에서 처리됩니다.

AutoSerializableAttribute 형식

값이 'false'인 형식에 이 특성을 추가하면 F#이 기본적으로 형식을 Serializable로 지정하는 동작이 수행되지 않습니다.

byref<'T> 형식

F# 코드의 관리되는 포인터를 나타냅니다.

Choice<'T1,'T2,'T3,'T4,'T5,'T6,'T7> 형식

7개의 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

Choice<'T1,'T2,'T3,'T4,'T5,'T6> 형식

6개 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

Choice<'T1,'T2,'T3,'T4,'T5> 형식

5개 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

Choice<'T1,'T2,'T3,'T4> 형식

4개 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

Choice<'T1,'T2,'T3> 형식

3개 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

Choice<'T1,'T2> 형식

2개 선택 항목이 있는 활성 패턴의 도우미 형식입니다.

ClassAttribute 형식

형식에 이 특성을 추가하면 해당 형식이 CLI 클래스를 사용하여 표현됩니다.

CLIEventAttribute 형식

이벤트 형식의 속성에 이 특성을 추가하면 속성이 'add_EventName' 및 'remove_EventName' 메서드 쌍으로의 구문 변환을 통해 CLI 메타데이터 이벤트로 컴파일됩니다.

ComparisonConditionalOnAttribute 형식

이 특성은 제네릭 인수도 F# 'comparison' 제약 조건을 만족하는 경우에만 제네릭 컨테이너 형식이 해당 제약 조건을 만족함을 나타내는 데 사용됩니다. 예를 들어 형식 정의 C<'T>에서 'T 매개 변수에 이 특성을 추가하는 경우, X 형식도 비교를 지원하며 비교를 지원하기 위한 C<X>의 모든 기타 조건도 충족되는 경우에만 C<X> 형식이 비교를 지원합니다. C<'T> 형식을 다른 형식 인수와 함께 사용할 수는 있지만 C<(int -> int)> 등의 형식은 비교를 지원하지 않습니다. (int -> int) 형식은 F# 함수이므로 비교를 지원하지 않기 때문입니다.

CompilationArgumentCountsAttribute 형식

이 특성은 일부 인수의 부분적 적용을 허용하며 나머지 함수를 반환하는 함수 및 멤버에 태그를 지정하기 위해 F# 컴파일러에서 자동으로 생성합니다.

CompilationMappingAttribute 형식

이 특성은 생성된 CLI 코드의 형식 및 메서드에 원본 소스 구문과의 대응을 나타내는 플래그로 태그를 지정하기 위해 F# 컴파일러에서 자동으로 삽입합니다. 이 특성은 Microsoft.FSharp.Reflection 네임스페이스의 함수에서 컴파일된 구문을 원래 형식으로 역방향 매핑하는 데 사용되며 사용자 코드에서 사용할 수 없습니다.

CompilationRepresentationAttribute 형식

이 특성은 형식의 런타임 표현을 조정하는 데 사용됩니다. 예를 들어 형식에 대해 null 표현을 사용할 수 있음을 나타내는 데 사용할 수 있습니다. 이 특성을 사용하면 일부 구문의 컴파일 방법에 영향을 줍니다.

CompilationRepresentationFlags 형식

F# 형식 또는 멤버의 컴파일된 표현에 대한 하나 이상의 조정 내용을 나타냅니다.

CompilationSourceNameAttribute 형식

이 특성은 'CompiledName' 특성이 지정된 메서드에 태그를 지정하기 위해 F# 컴파일러에서 자동으로 삽입하며 사용자 코드에서 사용할 수 없습니다.

CompiledNameAttribute 형식

F# 모듈의 값 또는 함수 정의에 이 특성을 추가하면 컴파일된 CLI 코드에서 값에 사용되는 이름이 변경됩니다.

CompilerMessageAttribute 형식

F# 소스 코드에서 구문을 사용할 때 메시지를 내보내야 함을 나타냅니다.

CustomComparisonAttribute 형식

형식에 이 특성을 추가하면 해당 형식이 사용자 정의된 비교 구현임을 나타냅니다.

CustomEqualityAttribute 형식

형식에 이 특성을 추가하면 해당 형식이 사용자 정의된 같음 구현임을 나타냅니다.

decimal<'Measure> 형식

측정 단위의 주석이 지정된 10진수의 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Decimal과 동일합니다.

DefaultAugmentationAttribute 형식

값이 false인 구분된 공용 구조체에 이 특성을 추가하면 해당 형식에 대해 생성된 CLI 클래스의 표준 도우미 멤버 테스터, 생성자 및 접근자 멤버가 생성되지 않습니다.

DefaultValueAttribute 형식

필드 선언에 이 특성을 추가하면 필드가 초기화되지 않습니다. 형식 검사 중에 필드 형식이 'null'을 지원하도록 제약 조건이 어설션됩니다. 'check' 값이 false이면 제약 조건이 어설션되지 않습니다.

EntryPointAttribute 형식

함수에 이 특성을 추가하면 해당 함수가 응용 프로그램의 진입점임을 나타냅니다. EXE에 대해 이 특성을 지정하지 않으면 컴파일 시퀀스에서 마지막 파일에 있는 모듈 바인딩의 암시적 초기화를 진입점으로 사용합니다.

EqualityConditionalOnAttribute 형식

이 특성은 제네릭 인수도 F# 'equality' 제약 조건을 만족하는 경우에만 제네릭 컨테이너 형식이 해당 제약 조건을 만족함을 나타내는 데 사용됩니다. 예를 들어 형식 정의 C<'T>에서 'T 매개 변수에 이 특성을 추가하는 경우, X 형식도 같음을 지원하며 같음을 지원하기 위한 C<X>의 모든 기타 조건도 충족되는 경우에만 C<X> 형식이 같음을 지원합니다. C<'T> 형식을 다른 형식 인수와 함께 사용할 수는 있지만 C<(int -> int)> 등의 형식은 같음을 지원하지 않습니다. (int -> int) 형식은 F# 함수이므로 같음을 지원하지 않기 때문입니다.

ExperimentalAttribute 형식

이 특성은 실험적 라이브러리 기능의 일부분인 값에 태그를 지정하는 데 사용됩니다.

float<'Measure> 형식

측정 단위의 주석이 지정된 부동 소수점 수의 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Double과 동일합니다.

float32<'Measure> 형식

측정 단위의 주석이 지정된 부동 소수점 수의 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Single과 동일합니다.

FSharpFunc<'T,'U> 형식

F# 함수 값을 표시하는 데 사용되는 CLI 형식입니다. 이 형식은 일반적으로 직접 사용되지 않지만 다른 CLI 언어에서는 사용할 수 있습니다.

FSharpInterfaceDataVersionAttribute 형식

이 특성은 컴파일된 F# 라이브러리에 첨부된 리소스의 추가 F# 관련 정보를 인코딩하는 데 사용되는 데이터 스키마 버전을 나타내기 위해 생성된 어셈블리에 추가됩니다.

FSharpTypeFunc 형식

F# 첫 번째 클래스 형식 함수 값을 표시하는 데 사용되는 CLI 형식으로, 컴파일된 F# 코드에 사용하기 위한 것입니다.

FuncConvert 형식

대리자를 사용하여 F# 첫 번째 클래스 함수 값과 함수의 CLI 표현 간을 변환하기 위한 도우미 함수입니다.

GeneralizableValueAttribute 형식

비함수 값에 제네릭 매개 변수와 함께 이 특성을 추가하면 구문 사용 시 형식 유추를 통해 제네릭 코드가 생성될 수 있음을 나타냅니다.

ilsigptr<'T> 형식

이 형식은 F# 코드 생성기에서 내부적으로 사용하기 위한 것입니다.

int<'Measure> 형식

측정 단위의 주석이 지정된 부호 있는 32비트 정수 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Int32와 동일합니다.

int16<'Measure> 형식

측정 단위로 주석이 지정된 부호 있는 16비트 정수 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Int16과 동일합니다.

int64<'Measure> 형식

측정 단위로 주석이 지정된 부호 있는 64비트 정수 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.Int64와 동일합니다.

InterfaceAttribute 형식

형식에 이 특성을 추가하면 형식이 CLI 인터페이스로 표시됩니다.

LiteralAttribute 형식

값에 이 특성을 추가하면 값이 CLI 상수 리터럴로 컴파일됩니다.

MeasureAnnotatedAbbreviationAttribute 형식

형식에 이 특성을 추가하면 형식이 구체적 형식(현재 측정값이 매개 변수로 포함된 형식으로 제한됨)으로 해석됩니다. 이는 매우 제한된 조건에서만 사용할 수 있습니다.

MeasureAttribute 형식

형식에 이 특성을 추가하면 형식이 측정 단위로 해석됩니다. 이는 매우 제한된 조건에서만 사용할 수 있습니다.

nativeptr<'T> 형식

F# 코드의 관리되지 않는 포인터를 나타냅니다.

NoComparisonAttribute 형식

형식에 이 특성을 추가하면 해당 형식에서 비교 작업이 비정상적으로 수행됨을 나타냅니다. 이는 해당 형식이 F# 'comparison' 제약 조건을 만족하지 않음을 의미합니다. 따라서 F# 형식 시스템의 경계 내에서 F# 제네릭 비교 함수가 이 형식에서 직접 인스턴스화되지 않습니다. 특성 및 확인은 이 형식의 기본 또는 자식 형식에 비교를 사용하는 것을 제한하지 않습니다.

NoDynamicInvocationAttribute 형식

이 특성은 런타임에 동적으로 호출할 수 없는 값에 태그를 지정하는 데 사용됩니다. 일반적으로 이 특성은 구현에 확인할 수 없는 코드가 포함된 인라인 함수에 추가됩니다. 이 특성을 사용하면 인라인 함수에 대해 생성된 메서드 본문은 동적으로 호출될 경우 생성된 어셈블리에 확인할 수 없는 코드를 포함하지 않고 예외를 발생시킵니다.

NoEqualityAttribute 형식

형식에 이 특성을 추가하면 해당 형식에서 같음 연산이 비정상적 연산임을 나타냅니다. 이는 해당 형식이 F# 'equality' 제약 조건을 만족하지 않음을 의미합니다. 따라서 F# 형식 시스템의 경계 내에서 F# 제네릭 같음 함수가 이 형식에서 직접 인스턴스화되지 않습니다. 특성 및 확인은 이 형식의 기본 또는 자식 형식에 비교를 사용하는 것을 제한하지 않습니다.

Option<'T> 형식

선택적 값의 형식입니다. 다른 CLI 언어에서 사용되는 경우 빈 옵션은 null 값입니다.

OptionalArgumentAttribute 형식

이 특성은 모든 선택적 인수에 대해 자동으로 추가됩니다.

PrintfFormat<'Printer,'State,'Residue,'Result,'Tuple> 형식

서식 지정 식의 형식입니다.

PrintfFormat<'Printer,'State,'Residue,'Result> 형식

서식 지정 식의 형식입니다.

Ref<'T> 형식

변경할 수 있는 참조의 형식입니다. 함수 [:=] 및 [!]를 사용하여 이 형식의 값을 가져오고 설정합니다.

ReferenceEqualityAttribute 형식

레코드 또는 공용 구조체 형식에 이 특성을 추가하면 해당 형식의 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' 및 'System.IComparable'에 대해 재정의가 자동으로 생성되지 않습니다. 해당 형식은 기본적으로 참조 같음을 사용합니다.

ReflectedDefinitionAttribute 형식

최상위 값 정의의 let 바인딩에 이 특성을 추가하면 값을 구현하는 인용 식을 런타임에 사용할 수 있습니다.

RequireQualifiedAccessAttribute 형식

이 특성은 모듈, 레코드 또는 공용 구조체 형식의 요소에 대한 참조에 정규화된 명시적 액세스가 필요함을 나타내는 데 사용됩니다.

RequiresExplicitTypeArgumentsAttribute 형식

형식, 값 또는 멤버에 이 특성을 추가하는 경우 구문 사용 시 제네릭 형식 매개 변수를 명시적으로 인스턴스화해야 합니다.

sbyte<'Measure> 형식

측정 단위의 주석이 지정된 부호 있는 8비트 정수 형식입니다. 측정 단위는 컴파일된 코드에서 지워지고 리플렉션을 사용하여 이 형식의 값을 분석할 때 지워집니다. 이 형식의 표현은 System.SByte와 동일합니다.

SealedAttribute 형식

클래스 정의에 이 특성을 추가하면 클래스가 봉인됩니다. 즉, 클래스를 확장하거나 구현할 수 없습니다.

SourceConstructFlags 형식

CLI 바이너리의 컴파일된 엔터티와 F# 소스 코드의 요소 간 관계를 나타냅니다.

StructAttribute 형식

형식에 이 특성을 추가하면 해당 형식이 CLI 구조체를 사용하여 표현됩니다.

StructuralComparisonAttribute 형식

레코드, 공용 구조체, 예외 또는 구조체 형식에 이 특성을 추가하면 해당 형식의 'System.IComparable'에 대한 구현이 자동으로 생성됩니다.

StructuralEqualityAttribute 형식

레코드, 공용 구조체 또는 구조체 형식에 이 특성을 추가하면 해당 형식의 'System.Object.Equals(obj)' 및 'System.Object.GetHashCode()'에 대한 재정의가 자동으로 생성됩니다.

StructuredFormatDisplayAttribute 형식

이 특성은 '%A' printf 서식 지정 패턴 및 기타 2차원 텍스트 기반 표시 레이아웃을 사용할 때의 기본 형식 표시 방법을 표시하는 데 사용됩니다. 이 F# 버전에서 유효한 값은 PreText {PropertyName} PostText 형식의 값뿐입니다. 속성 이름은 개체 자체가 아닌 계산 및 표시할 속성을 나타냅니다.

Unit 형식

하나의 값 "()"만 있는 'unit' 형식입니다. 이 값은 특수하며 항상 'null'이라는 표현을 사용합니다.

UnverifiableAttribute 형식

이 특성은 사용하는 경우 확인할 수 없는 코드를 생성하는 값에 태그를 지정하는 데 사용됩니다. 이러한 값은 확인할 수 없는 구문이 F# 라이브러리의 실제 코드에 포함되지 않고 호출자의 소스 코드로 복사될 수 있도록 항상 'inline'으로 표시됩니다.

VolatileFieldAttribute 형식

변경할 수 있는 F# 바인딩에 이 특성을 추가하면 필드에 대한 모든 액세스에 "volatile" 접두사가 사용됩니다.

형식 약어

형식

설명

array<'T> 형식

int[], string[] 등으로 작성된 1차원의 0부터 시작하는 배열입니다.

bigint 형식

임의의 큰 정수입니다. 형식 BigInteger의 약어입니다.

bool 형식

CLI 형식 Boolean의 약어입니다.

byte 형식

CLI 형식 Byte의 약어입니다.

char 형식

CLI 형식 Char의 약어입니다.

decimal 형식

CLI 형식 Decimal의 약어입니다.

double 형식

CLI 형식 Double의 약어입니다.

exn 형식

CLI 형식 Exception의 약어입니다.

float 형식

CLI 형식 Double의 약어입니다.

float32 형식

CLI 형식 Single의 약어입니다.

Format<'Printer,'State,'Residue,'Result,'Tuple> 형식

서식 지정 식의 형식입니다.

Format<'Printer,'State,'Residue,'Result> 형식

서식 지정 식의 형식입니다.

int 형식

CLI 형식 Int32의 약어입니다.

int16 형식

CLI 형식 Int16의 약어입니다.

int32 형식

CLI 형식 Int32의 약어입니다.

int64 형식

CLI 형식 Int64의 약어입니다.

int8 형식

CLI 형식 SByte의 약어입니다.

nativeint 형식

CLI 형식 IntPtr의 약어입니다.

obj 형식

CLI 형식 Object의 약어입니다.

option<'T> 형식

선택적 값의 형식입니다. 다른 CLI 언어에서 사용되는 경우 빈 옵션은 null 값입니다.

ref<'T> 형식

변경할 수 있는 참조의 형식입니다. 함수 [:=] 및 [!]를 사용하여 이 형식의 값을 가져오고 설정합니다.

sbyte 형식

CLI 형식 SByte의 약어입니다.

single 형식

CLI 형식 Single의 약어입니다.

string 형식

CLI 형식 String의 약어입니다.

uint16 형식

CLI 형식 UInt16의 약어입니다.

uint32 형식

CLI 형식 UInt32의 약어입니다.

uint64 형식

CLI 형식 UInt64의 약어입니다.

uint8 형식

CLI 형식 Byte의 약어입니다.

unativeint 형식

CLI 형식 UIntPtr의 약어입니다.

unit 형식

하나의 값 "()"만 있는 'unit' 형식입니다. 이 값은 특수하며 항상 'null'이라는 표현을 사용합니다.

예외

예외

설명

MatchFailureException 예외

부분 일치에 실패하면 MatchFailureException 예외가 발생합니다.

참고 항목

기타 리소스

F# 주요 라이브러리 참조