C \ # 정수 [월 아 오리지널] 제3 강 C \ # 범 형 은 무슨 좋 은 점 이 있 습 니까?

2275 단어 C++c.netC#Blog
설명: 정수 강 C \ # 언어 요점 이라는 시 리 즈 를 준비 합 니 다.이 시 리 즈 는 선후 순서 가 없 지만 가능 한 한 정교 하 게 해 야 한다.이 시리즈 의 가장 원시 적 인 출처 는 csdn 블 로그 입 니 다. 관심 가 져 주 셔 서 감사합니다.
C \ # 정수
제3 강 C \ # 범 형 이 무슨 좋 은 점 이 있 습 니까?
청월
홈 페이지: http://blog.csdn.net/21aspnet/           시간: 2007.3.24
object 형식: 1. object 형식 은 모든 종류의 인 스 턴 스 를 참조 할 수 있 습 니 다.2. object 형식 은 모든 종류의 값 을 저장 할 수 있 습 니 다.3. object 형식의 인 자 를 정의 할 수 있 습 니 다.4. object 를 반환 형식 으로 사용 할 수 있 습 니 다.그러나 이렇게 하 는 것 은 매우 큰 문제 가 있다.
1. 프로그래머 가 사용 하 는 유형 을 기억 하지 못 해서 오류 가 발생 하여 유형 이 호 환 되 지 않 습 니 다.2. 값 유형 과 인용 유형의 상호 화, 즉 포장 상 자 를 분해 하여 시스템 성능 을 떨 어 뜨 린 다.
C \ # 2.0 에서 제시 한 범 형 은 강제 유형 전환 을 피하 고 포장 상 자 를 줄 이 고 성능 을 향상 시 키 며 오 류 를 줄 이 는 것 이다.
System. collections. Generic 네 임 스페이스 는 많은 집합 류 와 인터페이스의 일반적인 버 전 을 제공 합 니 다.
정의: public class GenericList < T > {    public void Add (T input) / / T 형식 매개 변수 만 들 기    public T Add () / / T 를 반환 값 으로 만 듭 니 다} < T > 의 T 는 형식 매개 변수 로 자리 표시 자 역할 을 하 며 컴 파일 할 때 실제 형식 으로 대 체 됩 니 다.
범용 사용: GenericList < int > list 1 = new GenericList < int > ();GenericList list2 = new GenericList();GenericList < 클래스 이름 > list 3 = new GenericList < 클래스 이름 > ();GenericList < 클래스 이름 < int > list 4 = new GenericList < 클래스 이름 < int > > ();list 1 을 예 로 들 면 컴 파 일 러 가 다음 과 같은 방법 을 생 성 합 니 다.    public void Add(int input)    public int Add () 는 여러 가지 유형의 매개 변수 가 있 는 범 형 류: Public class 클래스 이름 < T, U > 범 형 제약: 범 형 류 가 사용 하 는 매개 변 수 를 특정 방법 을 제공 하 는 유형 으로 확보 합 니 다.public class GenericList < T > where T: IEmployee IEmployee 인터페이스 에 A 방법 이 포함 되 어 있다 면 컴 파일 러 는 T 를 교체 하 는 형식 이 반드시 IEmployee 인 터 페 이 스 를 실현 해 야 한 다 는 것 을 검증 합 니 다.범 형 방법: 범 형 류 를 정의 할 때 사용 하 는 방식 을 허용 합 니 다.
//      
static void Swap<T>(ref T lhs, ref T rhs)
{ T temp; temp = lhs; lhs = rhs; rhs = temp; }
/ / 일반적인 방법 사용
public static void TestSwap(){    int a=1,b=3;
Swap<int>(ref a,ref b);


string s1="Hello",s2="world";
Swap<string>(ref s1,ref s2);}
    ,    ,    ,    
 

좋은 웹페이지 즐겨찾기