C\#언어 기초―구조 체 와 매 거 유형 전면 분석
구조 유형 은 사용자 가 스스로 정의 하 는 유형 으로 다른 유형 으로 조합 되 어 있 으 며 구조 함수,상수,필드,방법,속성,색인 기,연산 자,이벤트 와 내장 형식의 값 유형 을 포함 할 수 있 습 니 다.구 조 는 몇 가지 중요 한 부분 에서 유형 과 다르다.구 조 는 인용 유형 이 아니 라 값 유형 이 고 구 조 는 계승 을 지원 하지 않 는 다.
구조 적 인 주요 사상 은 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\#언어 기초-구조 체 와 매 거 유형 에 대한 전면적 인 해석 은 바로 소 편 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity 매 거 진 형식 중국어 디 스 플레이 구현Unity 스 크 립 트 에서 열 거 된 형식 은 inspector 패 널 중국어 로 표 시 됩 니 다.참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다. 효과: 도구 스 크 립 트:Chine...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.