190729 - 1 - 데이터 보관하기2
-
Decimal 형식은 double 형식보다 정밀도가 높은 형식이다. (숫자 뒤에 m을 붙인다.)
-
C#의 모든 최고 조상은 Object
-
박싱과 언박싱 : 예시로 Object 형식에 값 형식의 데이터를 할당할 경우 Object형식은 기본적으로 Heap에 메모리가 할당되므로 값 형식을 힙에 할당하기위한 박싱기능을 제공한다. 박싱을 통해 힙에 저장한다. 이후 박싱되어 있는 데이터를 다시 값형식으로 얻어오는 것을 언박싱 이라고한다.
static void Main(string[] args)
{
int a = 123;
object b = (object)a; // a의 담긴 값을 박싱해서 힙에 저장
int c = (int)b; // b에 담긴 값을 언박싱해서 스택에 저장
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
double x = 3.1414213;
object y = x; // x에 담긴 값을 박싱해서 힙에 저장 (암시적 object 형변환)
double z = (double)y; // y에 담긴 값을 언박싱해서 스택에 저장
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);
}
형 변환
static void Main(string[] args)
{
int a = 123;
string b = a.ToString();
Console.WriteLine(b);
float c = 3.14f;
string d = c.ToString();
Console.WriteLine(d);
string e = "123456";
int f = Convert.ToInt32(e);
Console.WriteLine(f);
string g = "1.2345";
float h = float.Parse(g);
Console.WriteLine(h);
}
var
static void Main(string[] args)
{
var a = 20;
Console.WriteLine("Type: {0}, Value: {1}", a.GetType(), a);
var b = 3.1414213;
Console.WriteLine("Type: {0}, Value: {1}", b.GetType(), b);
var c = "Hello, World!";
Console.WriteLine("Type: {0}, Value: {1}", c.GetType(), c);
var d = new int[] { 10, 20, 30 }; // 배열도 var로 가능하다.
Console.Write("Type: {0}, Value: ", d.GetType());
foreach (var e in d)
Console.Write("{0} ", e);
Console.WriteLine();
}
Type: System.Int32, Value: 20
Type: System.Double, Value: 3.1414213
Type: System.String, Value: Hello, World!
Type: System.Int32[], Value: 10 20 30
'C#(.NET)' 카테고리의 다른 글
[C#] ?? Null 병합 연산자 (0) | 2020.06.12 |
---|---|
[C#] 흐름제어 (foreach, in, Select, {0}, {1}) (0) | 2020.06.12 |
[C#] 데이터 보관하기 (변수에 저장) (0) | 2020.06.12 |
[C#] Hello World 시작하는 코드 (1) | 2019.11.15 |
[C#] 확장 매서드 extend method (1) | 2018.04.07 |