C \ # 범 형 초식 2
6314 단어 C#
. NET 플랫폼 이 처음 발 표 된 이후 프로그래머 들 은 System. collections 네 임 스페이스 를 사용 하여 더욱 유연 한 방식 으로 데 이 터 를 관리 하 였 으 나. net 2.0 이 발 표 된 후부 터 C \ # 프로 그래 밍 언어 가 강화 되 어 범 형 (글자 뜻 통용 유형) 을 지원 하기 시작 했다.이 를 바탕 으로 기본 라 이브 러 리 에 집합 을 중심 으로 하 는 새로운 네 임 스페이스 를 도입 했다. System. collections. Generic 네 임 스페이스
범 형의 용 기 는 그들의 비 범 형 버 전에 비해 여러 가지 측면 에서 훨씬 우수 하 다. 왜냐하면 그들 은 더 많은 유형의 안전 과 성능 우 위 를 제공 하기 때문이다.따라서 강조 할 필요 가 있다. NET 2.0 또는 더 높 은 버 전 으로 만 든 프로젝트 는 System. collections 의 클래스 를 사용 하 는 것 을 포기 하고 System. collections. Generic 의 클래스 를 사용 해 야 한다.
1. List < T > 클래스 사용
범 형 유형 이나 방법 정의 에서 유형 매개 변 수 는 클 라 이언 트 가 범 형 유형의 변 수 를 예화 할 때 지정 한 특정한 유형의 자리 표시 자 입 니 다.클 라 이언 트 코드 는 괄호 안에 있 는 형식 매개 변 수 를 지정 하여 구조 유형 을 설명 하고 예화 해 야 합 니 다. 이 특정한 유형의 매개 변 수 는 컴 파일 러 가 식별 하 는 모든 유형 일 수 있다. 임의의 수의 구조 유형 인 스 턴 스 를 만 들 수 있 습 니 다. 모든 인 스 턴 스 는 서로 다른 유형 인 자 를 사용 합 니 다. 다음 과 같 습 니 다.
GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();
각각 GenericList
일반 클래스 를 사용자 정의 하고 실례 화 합 니 다. 다음 과 같 습 니 다.
class Program
{
static void Main(string[] args)
{
int obj = 2;
Test<int> test = new Test<int>(obj);
Console.WriteLine("int:" + test.obj);
string obj2 = "hello world";
Test<string> test1 = new Test<string>(obj2);
Console.WriteLine("String:" + test1.obj);
Console.Read();
}
}
class Test<T>
{
public T obj;
public Test(T obj)
{
this.obj = obj;
}
}
Test 는 사용자 정의 클래스 나 구조 입 니 다. 이 코드 세 션 은 a List < > of T, T 는 Test 형식 으로 읽 을 수 있 습 니 다.더 간단 하 다 Test 대상 목록 입 니 다.
2. 일반적인 방법
일반적인 방법 은 유형 매개 변 수 를 사용 하여 설명 하 는 방법 으로 다음 과 같다.
static void Swap<T>(ref T lhs, ref T rhs)
{
T temp;
temp = lhs;
lhs = rhs;
rhs = temp;
}
다음 코드 예제 에서 사용 을 보 여 줍 니 다. int 형식 매개 변수 로 호출 하 는 방법:
public static void TestSwap()
{
int a = 1;
int b = 2;
Swap<int>(ref a, ref b);
System.Console.WriteLine(a + " " + b);
}
형식 매개 변 수 를 생략 할 수도 있 고 컴 파일 러 는 이 매개 변 수 를 추정 할 것 이다. 아래 Swap 의 호출 은 앞의 호출 과 같다.
Swap(ref a, ref b);
같은 유형의 추리 규칙 도 정적 방법 과 실례 방법 에 적용 된다. 컴 파일 러 는 들 어 오 는 방법 에 따라 유형 형 삼 을 실제 적 으로 추정 할 수 있다.그것 은 제약 이나 반환 값 으로 만 형식 형 삼 을 추정 할 수 없다. 따라서 유형 추 리 는 매개 변수 가 없 는 방법 에 적용 되 지 않 는 다. 형식 추 리 는 컴 파일 할 때 컴 파일 러 가 재 업로드 방법 을 해석 하고 서명 하기 전에 진행 합 니 다. 컴 파일 러 는 같은 이름 을 공유 하 는 모든 일반적인 방법 에 유형 추리 논 리 를 적용 한다. 재 업로드 분석 절차 에서 컴 파일 러 는 유형 추리 가 성공 한 일반적인 방법 만 포함한다.
범 형 류 에서 비 범 형 방법 은 클래스 등급 유형 매개 변 수 를 방문 할 수 있 습 니 다. 다음 과 같 습 니 다.
class SampleClass<T>
{
void Swap(ref T lhs, ref T rhs) { }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.