C#에 존재하는 데이터 유형

C E Jonjaehaneun Deiteo Yuhyeong



데이터 유형은 모든 프로그래밍 언어의 중요한 측면이며 C#은 변수 선언, 메서드 정의 및 개체 생성에 사용되는 여러 데이터 유형을 제공합니다. 이 문서에서는 값, 참조 및 포인터 데이터 형식을 포함하여 C#의 다양한 데이터 형식과 해당 하위 범주에 대해 설명합니다.

C#에는 어떤 데이터 유형이 있습니까?

C#은 강력한 형식의 프로그래밍 언어 , 이는 모든 변수가 특정 데이터 유형으로 선언되어야 하며 데이터 유형의 세 가지 주요 범주가 있음을 의미합니다.







1: 값 데이터 유형

값 데이터 유형은 값을 메모리에 직접 저장하는 유형입니다. 그것들은 스택에 할당되며 종종 더 작은 데이터 세트를 저장하는 데 사용됩니다. 다음은 값 데이터 유형의 하위 범주입니다.



숫자 데이터 유형



이러한 데이터 유형은 숫자 값을 저장하는 데 사용됩니다. 숫자 데이터 유형은 소수, 정수 및 부동 소수점 숫자와 같은 여러 하위 범주로 나뉩니다.





  • 정수: 이러한 데이터 유형은 정수를 저장하는 데 사용되며 정수의 하위 범주에는 sbyte, byte, short, ushort, int, uint, long 및 ulong이 포함됩니다. 각 정수 데이터 형식이 보유할 수 있는 값의 범위는 다양합니다.
  • 부동 소수점 숫자: 이러한 데이터 유형은 10진수를 저장하는 데 사용되며 부동 소수점 숫자의 하위 범주에는 float 및 double이 포함됩니다. Float는 최대 7자리의 십진수를 저장할 수 있고 double은 최대 15자리의 십진수를 저장할 수 있습니다.
  • 소수: 이러한 데이터 유형은 매우 정확한 10진 정수를 저장하는 데 사용됩니다. Decimal은 최대 28자리까지 저장할 수 있습니다.

부울 데이터 유형

참 또는 거짓만 가능한 부울 값은 이 데이터 형식으로 저장됩니다.



문자 데이터 유형

단일 문자는 이 데이터 유형을 사용하여 저장됩니다.

다음 예제 코드는 C#에서 값 데이터 형식을 활용하는 방법을 보여줍니다.

시스템 사용;

네임스페이스 ValueDataTypesExample
{
수업 프로그램
{
정적 무효 메인 ( [ ] 인수 )
{
정수 myInt = 5 ;
float myFloat = 3.14f;
이중 myDouble = 3.14159265359 ;
불 myBool = 진실 ;
문자 myChar = 'ㅏ' ;

콘솔.쓰기줄 ( '내 정수 값은: ' + myInt ) ;
콘솔.쓰기줄 ( '내 플로트 값은: ' + myFloat ) ;
콘솔.쓰기줄 ( '내 이중 값은 다음과 같습니다. ' + 마이더블 ) ;
콘솔.쓰기줄 ( '내 부울 값은 다음과 같습니다. ' + myBool ) ;
콘솔.쓰기줄 ( '내 캐릭터 값은: ' + myChar ) ;
}
}
}

이 예제에서는 int, float, double, bool 및 char와 같은 다양한 값 데이터 유형의 변수를 선언하고 초기화했습니다. 그런 다음 Console.WriteLine 메서드를 사용하여 이러한 변수의 값을 인쇄했습니다. 이 프로그램의 출력은 다음과 같습니다.

2: 참조 데이터 유형

참조 데이터 유형은 값이 저장된 메모리 위치에 대한 참조를 저장하는 유형입니다. 이들은 힙에 할당되며 일반적으로 더 많은 양의 데이터를 저장하는 데 사용됩니다. 다음은 참조 데이터 유형의 하위 범주입니다.

수업

C#에서 클래스는 개체를 만들기 위한 청사진을 정의하는 참조 형식입니다.

이 참조 데이터 유형은 텍스트 데이터를 저장하는 데 사용되며 문자열은 참조 유형이지만 여러 면에서 값 유형처럼 작동합니다.

정렬

이 데이터 유형을 사용하여 동일한 유형의 값 콜렉션을 저장할 수 있습니다. 배열은 참조 유형이지만 경우에 따라 값 유형처럼 작동할 수도 있습니다.

상호 작용

인터페이스는 구현 세부 정보를 제공하지 않고 메서드, 속성, 이벤트 및 인덱서 집합을 정의합니다.

대리자

대리자를 사용하면 메서드를 다른 메서드의 인수로 전달한 다음 나중에 대리자를 통해 해당 메서드를 호출할 수 있습니다.

다음은 사용 방법을 보여주는 샘플 C# 코드입니다. 참조 데이터 유형 :

시스템 사용;

클래스 사람
{
공개 문자열 이름;
공개 연령;
}

수업 프로그램
{
정적 무효 메인 ( [ ] 인수 )
{
사람 person1 = 새 사람 ( ) ;
사람1.이름 = '그 자신' ;
사람1.나이 = 이십 ;

사람 사람2 = 사람1;
person2.나이 = 30 ;

콘솔.쓰기줄 ( 사람1.이름 + ' 이다 ' + 사람1.나이 + ' 살이에요.' ) ;
콘솔.쓰기줄 ( 사람2.이름 + ' 이다 ' + 사람2.나이 + ' 살이에요.' ) ;
}
}

이 예제의 Person 클래스에는 두 개의 공개 필드가 있습니다. Name은 문자열 유형이고 Age는 int 유형입니다. 그런 다음 Person 클래스의 새 인스턴스를 만들어 Main 메서드의 person1에 할당합니다. person1의 이름 및 나이 속성을 수정합니다.

다음으로 다른 참조 변수 person2를 만들고 여기에 person1이라는 값을 할당합니다. 그런 다음 person2의 Age 속성을 30으로 변경합니다.

마지막으로 person1과 person2의 이름과 나이를 출력합니다. 값을 변경하면 person2.나이 의 값도 변경합니다. 사람1.나이 , 두 변수가 동일한 것을 참조하기 때문에 물체 메모리에.

3: 포인터 데이터 유형

포인터 데이터 유형은 다른 변수의 메모리 주소를 저장하는 데 사용됩니다. 시스템 수준 프로그래밍 또는 장치 드라이버 개발과 같은 저수준 프로그래밍에 사용됩니다. . C#에서 포인터 데이터 형식은 직접 사용되지 않습니다. , 하지만 안전하지 않은 코드 블록에서 사용할 수 있습니다. 다음은 포인터 데이터 유형의 하위 범주입니다.

포인터 데이터 유형

이 데이터 유형은 다른 변수의 메모리 주소를 저장하는 데 사용됩니다.

다음은 사용을 보여주는 예입니다. 포인터 데이터 유형 C#에서는 많은 주의가 필요합니다.

시스템 사용;

수업 프로그램 {
정적 안전하지 않은 무효 메인 ( ) {
정수 번호 = 10 ;
정수 * p = & 하나에;
콘솔.쓰기줄 ( $ '숫자 값: {num}' ) ;
콘솔.쓰기줄 ( $ '숫자의 주소: {(long)p:X}' ) ;
콘솔.쓰기줄 ( $ '포인터를 사용하는 숫자 값: {*p}' ) ;
콘솔.ReadLine ( ) ;
}
}

이 예에서는 포인터 사용을 허용하기 위해 unsafe 키워드를 사용합니다. int 유형 변수를 선언하고 값 10을 지정합니다. 그런 다음 int* 유형의 포인터 변수 포인터를 만들고 & 연산자를 사용하여 값의 메모리 주소를 할당합니다.

또한 * 연산자를 사용하여 포인터를 역참조하여 value에 저장된 값에 액세스하고 동일한 연산자를 사용하여 값을 수정할 수도 있습니다.

메모: C#에서 포인터를 사용하려면 메모리 관리 문제를 피하기 위해 약간의 주의가 필요하므로 필요한 경우에만 주의해서 사용해야 합니다.

결론

C#에는 다양한 작업에 활용할 수 있는 다양한 데이터 유형이 있습니다. 적은 양의 데이터는 값 데이터 형식을 사용하여 저장되고 많은 양의 데이터는 참조 데이터 형식을 사용하여 저장됩니다. 포인터 데이터 형식은 저수준 프로그래밍에 사용되며 C#에서는 일반적으로 사용되지 않습니다.