> 백엔드 개발 > C#.Net 튜토리얼 > C# 데이터 유형

C# 데이터 유형

WBOY
풀어 주다: 2024-09-03 15:02:38
원래의
1148명이 탐색했습니다.

이름에서 알 수 있듯이 데이터 유형은 변수에 저장할 데이터 유형입니다. 데이터 유형은 처리할 데이터 종류와 해당 데이터에 필요한 메모리 양을 컴파일러나 해석기에 제안하는 데 사용됩니다.

예: int는 숫자 값을 저장하는 데이터 유형이며 4바이트가 필요합니다.

C#은 강력한 형식의 언어이므로 사용하기 전에 변수나 상수의 형식을 선언해야 합니다. 데이터 유형을 적절하게 사용하면 메모리가 절약되고 애플리케이션 성능이 향상됩니다.

구문:

datatype <variable_name> = value;
로그인 후 복사

C# 데이터 유형의 예:

1. int intVal = 55; 이 예에서 int는 데이터 유형, intVal은 변수 이름, 55는 값입니다.

2. char charVal = 'A';

3. string strVal = “Hello World!”;

4. float floatVal = 15.5f;

5. bool boolVal = true;

상위 3가지 C# 데이터 유형

C# 데이터 유형은 세 가지 범주로 나뉩니다.

C# 데이터 유형

1. 값 유형

  • 변수의 값을 메모리에 직접 저장합니다.
  • 부호 있는 리터럴과 서명되지 않은 리터럴을 모두 허용합니다.

C#에는 두 가지 유형의 값 데이터 유형이 있습니다.

  1. int, char, bool 등과 같은 사전 정의된 데이터 유형
  2. enum, struct 등과 같은 사용자 정의 데이터 유형

2. 참조 유형

  • 변수의 주소를 저장합니다. 즉, 변수에 대한 참조를 포함합니다.
  • 한 변수에 의해 데이터가 변경되면 다른 변수에도 자동으로 업데이트된 값이 적용됩니다.

C#에는 두 가지 유형의 참조 데이터 유형이 있습니다.

  1. Object, String과 같은 사전 정의된 유형
  2. 클래스, 인터페이스 등 사용자 정의 유형

3. 포인터 유형

  • 변수의 메모리 주소가 포함되어 있습니다.

포인터에 사용되는 기호:

  1. &(앰퍼샌드): 주소 연산자, 변수의 주소를 결정합니다
  2. *(별표): 간접 연산자, 주소 값에 액세스

다양한 데이터 유형의 예

다음은 C#의 다양한 데이터 유형에 대한 몇 가지 예입니다.

예 #1: 일부 값 유형

using System;
public class ValueDataTypes
{
public static void Main()
{
//int - 32-bit signed integer type
int i = 55;
//char - 16-bit Unicode character
char ch = 'A';
//short - 16-bit signed integer type
short s = 56;
//long - 64-bit signed integer type
long l = 5564;
//uint - 32-bit unsigned integer type
uint ui = 100;
//ushort - 16-bit unsigned integer type
ushort us = 80;
//ulong - 64-bit unsigned integer type
ulong ul = 3625573;
//double - 64-bit double precision floating point type
double d = 6.358674532;
//float - 32-bit single-precision floating point type
//float needs 'f' or 'F' as suffix
float f = 2.7330645f;
//decimal - 128-bit precise decimal values with 28-29 significant digits
//decimal needs 'm' or 'M' as suffix
decimal dec = 339.5m;
Console.WriteLine("Integer: " + i);
Console.WriteLine("Char: " + ch);
Console.WriteLine("Short: " + s);
Console.WriteLine("Long: " + l);
Console.WriteLine("Unsinged integer: " + ui);
Console.WriteLine("Unsinged short: " + us);
Console.WriteLine("Unsinged long: " + ul);
Console.WriteLine("Double: " + d);
Console.WriteLine("Float: " + f);
Console.WriteLine("Decimal: " + dec);
}
}
로그인 후 복사

출력:

C# 데이터 유형

예 #2: Bool, Enum 및 Struct 데이터 유형

구조는 서로 다른 데이터 유형으로 관련 데이터를 저장하는 데 사용되는 복합 유형입니다. Enum은 정수형 상수에 이름을 할당하는 데 사용됩니다.

using System;
public class BoolEnumStruct
{
//declaring enum
enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
//declaring structure
struct Student
{
public int Id;
public string FirstName;
public string LastName;
public Student(int id, string fname, string lname)
{
Id = id;
FirstName = fname;
LastName = lname;
}
}
public static void Main()
{
//boolean data type
bool flag = true;
if(flag)
{
Console.WriteLine("Bool value: "+flag);
Console.WriteLine();
}
//Accessing enum value for Friday
Console.WriteLine("Enumeration:");
Console.WriteLine(Days.Friday);
Console.WriteLine((int)Days.Friday);
Console.WriteLine();
//passing values to structure members using constructor
Student student = new Student(1, "Riya", "Sen");
Console.WriteLine("Structure Members:");
Console.WriteLine(student.Id);
Console.WriteLine(student.FirstName);
Console.WriteLine(student.LastName);
}
}
로그인 후 복사

출력:

C# 데이터 유형

예 #3: 참조 데이터 유형

using System;
public class StrObjDynamic
{
public static void Main()
{
string str = "C# ";
str += "Data Types";
Console.WriteLine("String: "+str);
Console.WriteLine();
//declaring object
object obj;
obj = 100;
Console.WriteLine("Object: "+obj);
//displaying type of object using GetType()
Console.WriteLine(obj.GetType());
Console.WriteLine();
//declaring dynamic variables
dynamic value1 = "Hello World!";
dynamic value2 = 5296;
dynamic value3 = 6.5;
//displaying actual type of dynamic variables using GetType()
Console.WriteLine("Dynamic:");
Console.WriteLine("Type of value1: {0}", value1.GetType().ToString());
Console.WriteLine("Type of value2: {0}", value2.GetType().ToString());
Console.WriteLine("Type of value3: {0}", value3.GetType().ToString());
}
}
로그인 후 복사

출력:

C# 데이터 유형

예 #4: 인터페이스

인터페이스는 속성, 메서드, 이벤트 및 인덱서를 멤버로 가질 수 있습니다. 회원들의 선언문만을 담고 있습니다. 해당 멤버의 구현은 이를 암시적 또는 명시적으로 구현하는 클래스에 의해 제공됩니다.

using System;
interface Shape
{
void rectangle();
}
public class Area : Shape
{
//implementing interface method
public void rectangle()
{
Console.WriteLine("Area of rectangle is Length * Breadth");
}
public static void Main(String[] args)
{
Area area = new Area();
area.rectangle();
}
}
로그인 후 복사

출력:

C# 데이터 유형

예 #5: 위임

대리자는 메서드에 대한 참조를 보유하는 개체입니다.

using System;
public class DelegateDemo
{
// Declaring delegate
public delegate void Sum(int a, int b);
public void SumVal(int a, int b)
{
Console.WriteLine(a +"+"+ b+ " = {0}", a + b);
}
public static void Main(String[] args)
{
DelegateDemo delegateDemo = new DelegateDemo();
// Creating object of delegate
Sum sum = new Sum(delegateDemo.SumVal);
//Passing values to the method using delegate object
sum(100, 100);
}
}
로그인 후 복사

출력:

C# 데이터 유형

결론

  • 값 유형은 스택에 저장됩니다.
  • 참조 유형은 힙에 저장됩니다.
  • 값 유형이 참조 유형으로 변환되는 것을 박싱(암시적 변환 과정)이라고 합니다.
  • 참조 유형을 값 유형으로 변환하는 것을 언박싱(명시적 변환 프로세스)이라고 합니다.

위 내용은 C# 데이터 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿