where(제네릭 형식 제약 조건) 사용 방법

Where Jenelig Hyeongsig Jeyag Jogeon Sayong Bangbeob



C#의 제네릭 형식 제약 조건을 통해 개발자는 제네릭 형식 매개 변수가 나타낼 수 있는 형식 집합을 정의할 수 있습니다. 이 기능을 사용하면 컴파일러에서 형식 안전성을 적용하고 런타임 중에 발생할 수 있는 오류를 방지할 수 있습니다. 가장 많이 사용되는 제약 중 하나는 '어디' 제약 조건, 이 문서에서는 무엇을 설명합니다 '어디' 제약 조건은 C#에 있으며 코드에서 사용하는 방법입니다.

'where' 제약 조건이란 무엇입니까?

그만큼 '어디' 제약 조건은 개발자가 제네릭 형식이 나타낼 수 있는 형식 매개 변수를 지정할 수 있도록 하는 C#의 제네릭 형식 제약 조건입니다. 제약 조건은 다음을 사용하여 지정됩니다. '어디' 키워드 다음에 형식 매개변수와 제약 조건, '어디' 제약 조건은 다음과 같습니다.

공개 클래스 클래스 이름 < > 여기서 티 : 강제

{

// 클래스 구현

}

여기서 '클래스 이름' 제네릭 형식 매개 변수가 있는 클래스 이름을 나타냅니다. '티' . 그만큼 '어디' 키워드는 유형 매개변수에 대한 제약조건을 지정하고 '강제' 형식 매개 변수가 나타내야 하는 형식입니다.







유형 매개변수를 받아들이고 값 배열에서 최소값을 반환하는 제네릭 클래스의 예를 들어보겠습니다. 여기서 코드는 '어디' 형식 매개 변수가 숫자 형식이어야 함을 지정하는 제약 조건:



시스템 사용 ;

공개 클래스 MinValue < > 여기서 티 : 구조체 , IComparable , I컨버터블

{

공개 T GetMinValue ( [ ] 정렬 )

{

만약에 ( 정렬 == 없는 || 정렬. 길이 == 0 ) {

새 ArgumentException 발생 ( '배열은 null이거나 비어 있을 수 없습니다.' ) ;

}

T분 = 정렬 [ 0 ] ;

~을 위한 ( 정수 = 1 ; < 정렬. 길이 ; ++ ) {

만약에 ( 정렬 [ ] . 비교 대상 ( ) < 0 ) {

= 정렬 [ ] ;

}

}

반품 ;

}

}

공개 수업 프로그램

{

공공의 공전 무효의 기본 ( )

{

정수 [ ] intArray = { 1 , 2 , , 4 , 5 } ;

최소값 < 정수 > intMinValue = 새로운 최소값 < 정수 > ( ) ;

정수 최소분 = intMinValue. GetMinValue ( intArray ) ;

콘솔. WriteLine ( 'intArray의 최소값: {0}' , 최소분 ) ;

더블 [ ] 이중 배열 = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

최소값 < 더블 > doubleMinValue = 새로운 최소값 < 더블 > ( ) ;

더블 doubleMin = doubleMinValue. GetMinValue ( 이중 배열 ) ;

콘솔. WriteLine ( 'doubleArray의 최소값: {0}' , doubleMin ) ;

}

}

여기에서 일반 클래스를 정의했습니다. '최소값' 유형 매개변수를 허용하는 '티' 값 배열에서 최소값을 반환합니다. 다음으로 우리는 '어디' 형식 매개 변수가 구조체여야 함을 지정하고 IComparable 인터페이스를 구현하고 IConvertible 인터페이스를 구현하는 제약 조건입니다. 이 제약 조건은 숫자 유형만 유형 매개변수로 허용되도록 합니다.

  모양, 직사각형 설명 자동 생성

결론

그만큼 '어디' C#의 제약 조건은 개발자가 형식 안전성을 적용하고 런타임 중에 오류를 방지할 수 있는 강력한 기능입니다. 이 제약 조건을 사용하여 제네릭 형식 매개 변수가 나타낼 수 있는 형식 집합을 지정할 수 있습니다. 이 문서에서는 다음과 같은 개요를 제공했습니다. '어디' C#의 제약 조건을 확인하고 코드와 함께 사용하는 방법을 시연했습니다.