using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.IO;
namespace TestProject
{
public class TestClass
{
static void Main(string[] args)
{
Console.WriteLine("사각형 너비 : ");
string width = Console.ReadLine();
Console.WriteLine("사각형 높이 : ");
string height = Console.ReadLine();
int a = 123;
string b = a.ToString();
int w = int.Parse(width);
int h = int.Parse(height);
Console.WriteLine($"넓이 : {w * h} ");
Console.WriteLine(b);
}
}
}
C#에서는 정수계열 형식, 부동소수점 형식 모두에게
Parse()
라는 메소드줌
이 메소드에 숫자로 변환할 문자열 넘겨주면 -> 숫자로 변환.
int a = 7.3;
float b = 3.14;
double c = a * b;
char d = "abc";
string e = '한';
크기가 더 큰것 -> 크기가 더 작은 것 : 명시적 캐스팅 필요 (데이터가 손실 될 우려가 있어 형변환 필요)
작은 것 -> 크기가 더 작은 것 : 암시적 캐스팅 (데이터가 손실 될 우려가 적음)
int 말고 double
float b = 3.14f; || double b = 3.14;
double c = a * b; -> 같은 변수 타입이여야 가능
char d = "a"; 로 수정
string e = "한";
string e = '한'; // string형은 문자형을 데이터 타입으로 함 string e = "한"; 으로 쌍따옴표로 표현
값형식은 Stack 메모리에 데이터가 쌓이고
참조 형식은 널부러진 책상같은 Heap 메모리에 데이터가 놓인다.
object "형식"으로 Heap메모리에 변수의 값을 올려 Stack에서 바라보게함
object a = 123;
123이라는 값은 Heap에 올라가고
a라는 변수는 123(Heap)에 올라간 메모리 주소를 바라보고있게 한다.
이게 "박싱"
참조 형식을 값 형식으로 변환
var a = 2020;
var b = "double";
a = int형
b = string 형