C\#언어 기초―구조 체 와 매 거 유형 전면 분석

1.구조 체(struct)
구조 유형 은 사용자 가 스스로 정의 하 는 유형 으로 다른 유형 으로 조합 되 어 있 으 며 구조 함수,상수,필드,방법,속성,색인 기,연산 자,이벤트 와 내장 형식의 값 유형 을 포함 할 수 있 습 니 다.구 조 는 몇 가지 중요 한 부분 에서 유형 과 다르다.구 조 는 인용 유형 이 아니 라 값 유형 이 고 구 조 는 계승 을 지원 하지 않 는 다.
구조 적 인 주요 사상 은 Point 와 FileInfo 등 작은 대상 을 만 드 는 데 사용 된다.이것 은 클래스 대상 이 필요 로 하 는 것 처럼 추가 적 인 인용 이 없 기 때문에 메모 리 를 절약 할 수 있다.예 를 들 어 수천 개의 대상 을 포함 한 배열 을 성명 할 때 큰 차 이 를 일 으 킬 수 있다.
구조 체 는 하나의 변수 그룹 으로 한 그룹의 변 수 를 함께 놓 는 것 은 사용자 정의 집합 이다.그 안에 각종 유형의 데 이 터 를 포함 할 수 있 고 용법 은 집합 과 같다.
1.정의
구조 체 는 일반적으로 Main 함수 위 에 정의 되 고 Class 아래 에 있 으 며 하나의 클래스 로 정의 합 니 다.일반적인 상황 Struct 정 의 는 Main 함수 앞 에 있 고 Main 함수 안의 곳 은 모두 사용 할 수 있 으 며 매개 변수 앞 에 Public 대표 공용 변 수 를 추가 합 니 다.
형식:

struct +      

{

public int+   ;

public string+   ;

public int+   ;

}
이상 은 하나의 구조 체 의 형식 을 정의 하 는 것 입 니 다.그 안에 성형 int,문자열 string,소수점 decimal 등 여러 가지 데이터 형식 이 포함 되 어 있 습 니 다.
만약 에 구조 체 가 Main 함수 에 정의 되 고 Main 함수 에서 사용 할 수 있다 면 보통 상황 을 보고 Main 함수 앞 에 정의 합 니 다.Main 함수 안의 모든 곳 에서 사용 할 수 있 습 니 다.매개 변수 앞 에 Public 대표 공용 변 수 를 추가 합 니 다.
형식:

struct student

{

public int no;

public string name;

public int Csharp;

public int web;

public int database;

public int sum;

}
2.용법
(1)Main 함수 밖에서 student 형식의 구조 체 를 정의 하고 Main 주 함수 에서 사용 합 니 다.
(2)그 다음 에 안의 모든 요소 에 값 을 부여 하고 구조 체 명+점+구조 체 안의 변수 이름=값.
(3)할당 후 완료 후 인쇄 합 니 다.

Student lch=new student();//    Main          lch student       。

{

lch.no=1;     

lch.name=”   ”;

lch.Cshap=88;

lch.web=90;

lch.database=98;

lch.sum=lch.Cshap+lch.web+lch.database;

}

Console.WriteLine(lch.no,lch.name,lch.Cshap,lch.web,lch.database,lch.sum );
[사례 1]jiegouti 형식의 구조 체 를 정의 합 니 다.출력 유형 중의 구조 체 변 수 는 프로그램 이 실 행 된 후에 표 시 된 결 과 는 다음 과 같 습 니 다.
 
[기술 요점]jiegouti 형식의 구조 체 를 정의 합 니 다.3 개의 구조 변수,fenshu,name,kecheng 이 있 습 니 다.주 함수 에서 매개 변수 수신 구조 변 수 를 정의 한 다음 name 을 출력 하여 문자열 을 되 돌려 줍 니 다.
3.구조 체 유형 요 소 는 구조 체 유형 을 포함한다.
//다른 추 가 된 클래스 도 이 구조 체 를 사용 할 수 있 도록 하려 면 앞 에 Public 를 추가 해 야 합 니 다.
public  struct student
        {
//다른 클래스 에 접근 할 수 있 는 변 수 를 추가 하려 면 Public 가 필요 합 니 다.
            public int nianling;
            public string name;
            public string sex;
//구조 체 에 다른 구조 체 를 포함 할 수 있 습 니 다.
            public One qq;
//배열 을 직접 정의 할 수 있 지만 공간 을 열지 않 았 습 니 다.
            public string[] shuzu;
        }
        public struct One
        {
            public string nb;
            public string abc;
        }
        static void Main(string[] args)
        {
            #region
//안에 있 는 모든 요소 에 값 을 부여 합 니 다:(구조 체 이름+점+구조 체 안의 변수 이름=값)
//사용 하기 전에 초기 화해 야 합 니 다
            student st = new student();
//초기 화 된 변수 이름 은 클래스 대상 으로 볼 수 있 습 니 다.
            st.name="장삼";
//클래스 대상 의 이름 은 같 을 수 없습니다.
            st.nianling = 21;
            st.sex="남자";
            st.name="왕 오";
//사용 할 때 변수 이름 을 사용 하여 변 수 를 지정 하여 사용 합 니 다.
            Console.WriteLine(st.name);
//구조 체 에는 다른 구조 체 유형 이 포함 되 어 있 으 며,아래 의 변 수 를 직접 지적 할 수 있 습 니 다.
            st.qq.abc="qsqs";
//사용 하기 전에 공간 을 열 어야 합 니 다.
            st.shuzu = new string [9];
//배열 요소 할당 방식
            st.shuzu[0]="조 육";
//클래스 를 여러 번 초기 화 할 수 있 습 니 다.서로 다른 변수 이름 에 주의 하 십시오.
            student st1 = new student();
            st1.name="이사";
            st1.nianling = 22;
            st1.sex="여자";
            #endregion
        }
[사례 2]위 에 있 는 jiegouti 유형의 구조 체 요 소 는 다른 구조 체 를 포함 하고 하나의 변수 Public int[]shuzu 를 정의 하여 새로운 정의 의 배열 변 수 를 출력 할 수 있 습 니 다.다음 그림 과 같이 실행 결과:
 
[기술 요점]jiegouti 형식의 구조 체 를 정의 합 니 다.기 존의 3 개의 구조 변수,fenshu,name,kecheng,하나의 변수 Public int[]shuzu 를 추가 합 니 다.이 구조 요 소 는 새로운 구조 체 를 포함 할 수 있 습 니 다.주 함수 에서 이 새로운 구조 변 수 를 받 아들 이 고 name 을 출력 하여 문자열 을 되 돌려 줍 니 다.
[사례 3]위 에 있 는 jiegouti 유형의 구조 체 요 소 는 다른 구조 체 를 포함 하고 하나의 변수 Public int[]shuzu 를 정의 하여 새로운 정의 의 배열 변 수 를 출력 할 수 있 습 니 다.출력 변 수 는 여러 개 가능 하 며'+'로 연결 하면 됩 니 다.
 
[기술 요점]jiegouti 형식의 구조 체 를 정의 합 니 다.기 존의 3 개의 구조 변수,fenshu,name,kecheng,하나의 변수 Public int[]shuzu 를 추가 합 니 다.이 구조 요 소 는 새로운 구조 체 를 포함 할 수 있 습 니 다.주 함수 에서 이 새로운 구조 변 수 를 받 아들 이 고 name 을 출력 하여 문자열 을 되 돌려 줍 니 다.
종합 연습:구조 체 를 활용 하여 학 번,성명,점 수 를 집합 에 넣 고 꺼 내 인쇄 한다.
 
매 거 유형
매 거 진(enum)은 값 형식의 특수 한 형식 으로 System.Enum 에서 계승 되 어 기본 형식의 값 에 대체 이름 을 제공 합 니 다.매 거 진 형식 은 이름,기본 형식,필드 가 있 습 니 다.기본 형식 은 char 형식 을 제외 한 내 장 된 기호(또는 기호 없 음)정수 형식(예 를 들 어 Byte,Int 32 또는 UInt 64)이 어야 합 니 다.매 거 유형 은 상수 집합 이 라 고 할 수 있다.
1.정의:Enum...{E}
매개 요소 의 기본 기본 기본 형식 은 int 입 니 다.기본 적 인 상황 에서 첫 번 째 매 거 수의 값 은 0 이 고 뒤의 매 거 수의 값 은 순서대로 1 이 증가한다.예 를 들 면:
//매 거 진 은 상수 집합 입 니 다.일반 콜론 뒤에 데이터 형식 을 지정 하지 않 습 니 다.
  enum meiju:
        {
//매 거 진 에 기본 색인 이 있 고 지정 할 수 있 습 니 다.색인 3 과 같 지만 콘 솔 에 서 는 작 동 하지 않 습 니 다.
//쉼표 로 구분
        one=3,
        two=6,
        three,
//이전의 상수 와 같다 면 이 상수 와 같다.마지막 줄 의 쉼표 는 생략 할 수 있다
        four=two
        }
        static void Main(string[] args)
        {
            Console.WriteLine(meiju.one);
            Console.ReadLine();
2.용법
매 거 진 데이터 형식 도 지정 할 수 있 으 며,일반적으로 지정 하지 않 습 니 다.
매 거 진 형식 을 정의 할 때 기본 형식 을 선택 할 수 있 지만 사용 할 수 있 는 기본 형식 은 log,int,short,byte 에 만 제 한 됩 니 다.예 를 들 면:
enum meiju:int
[사례 1]매 거 진 유형 을 정의 하고 출력 매 거 진 유형의 상수,프로그램 이 실 행 된 후에 나타 난 결 과 는 다음 과 같다.
 
[기술 요점]int 매 거 진 유형 을 정의 합 니 다.그 안에 4 개의 매 거 진 상수 가 있 습 니 다.다시 한 가지 방법 을 정의 합 니 다.이 방법 은 매개 변수의 값 을 받 아들 이 고 int 형식의 값 을 되 돌려 줍 니 다.
3.주의:숫자 는 매 거 진 에 따로 넣 어 실행 할 수 없고 시스템 이 잘못 판단 할 수 있 으 며 주로 제약 문자열 입 니 다.
예:6;
[사례 2]매 거 진 유형 을 정의 하고 그 안에 6 개의 매 거 진 유형 이 있 으 며 다음 그림 2 는 프로그램 이 실 행 된 결과 입 니 다.
 
[기술 요점]매 거 진 것 은 상수 적 인 집합 이지 만 매 거 진 유형 에 숫자 를 직접 배치 할 수 없고 시스템 이 작 동 하지 않 습 니 다.
종합 연습:20 명 투표,5 명 후보,switch 로  case

//20     switch case    

      //       1,2,3,4,5

      //  12345            

      //     

      //       

      Console.WriteLine("     !   1、2、3、4、5       、  、  、  、  ");

      int[] shuzu = new int[20];

      for (int i = 1; i <= 20; i++)

      {

        Console.Write("  " + i + "        :");

        shuzu[i - 1] = int.Parse(Console.ReadLine());

      }

      Console.WriteLine("    !          !");

      Console.ReadLine();

      int zhangsan = 0, lisi = 0, wangwu = 0, zhaoliu = 0, fengqi = 0, zuofei = 0;

      for (int i = 0; i < 20; i++)

      {

        switch (shuzu[i])

        {

          case (int)Houxuanren.one:

            zhangsan++;

            break;

          case (int)Houxuanren.two:

            lisi++;

            break;

          case (int)Houxuanren.three:

            wangwu++;

            break;

          case (int)Houxuanren.four:

            zhaoliu++;

            break;

          case (int)Houxuanren.five:

            fengqi++;

            break;

          default:

            zuofei++;

            break;

        }

      }

      if (zhangsan > lisi && zhangsan > wangwu && zhangsan > zhaoliu && zhangsan > fengqi)

      {

        Console.WriteLine("    !   " + zhangsan);

      }

      else if (lisi > zhangsan && lisi > wangwu && lisi > zhaoliu && lisi > fengqi)

      {

        Console.WriteLine("    !   " + lisi);

      }

      else if (wangwu > lisi && wangwu > zhangsan && wangwu > zhaoliu && wangwu > fengqi)

      {

        Console.WriteLine("    !   " + wangwu);

      }

      else if (zhaoliu > lisi && zhaoliu > wangwu && zhaoliu > zhangsan && zhaoliu > fengqi)

      {

        Console.WriteLine("    !   " + zhaoliu);

      }

      else if (fengqi > lisi && fengqi > wangwu && fengqi > zhaoliu && fengqi > zhangsan)

      {

        Console.WriteLine("    !   " + fengqi);

      }

      Console.WriteLine("      :" + zuofei);

      Console.ReadLine();
이상 의 C\#언어 기초-구조 체 와 매 거 유형 에 대한 전면적 인 해석 은 바로 소 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기