var๋ object์ ๊ฐ์ ํ์์ด๋ผ๊ธฐ ๋ณด๋ค๋
์ปดํ์ผ๋ฌ๊ฐ ์ด๊ธฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ๊ทธ ํ์์ ์ถ๋ก ํ ์ ์๋๋ก ๋์์ฃผ๋ 'ํค์๋'์ด๋ค.
int, string ๊ฐ์ ๋ช ์์ ํ์ ๋์ var๋ฅผ ์ฌ์ฉํด์
๋ณ์๋ฅผ ์ ์ธํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ํด๋น ๋ณ์์ ํ์์ ์ง์ ํด์ค๋ค.
var ํค์๋๋ฅผ ์ด์ฉํด์ ๋ณ์๋ฅผ ์ ์ธํ๋ ค๋ฉด
๋ฐ๋์ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ๋ฅผ ํด์ฃผ์ด์ผํ๋ค.
๊ทธ๋์ผ๋ง ์ปดํ์ผ๋ฌ๊ฐ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ํ์์ ์ถ๋ก ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
static void Main(string[] args)
{
var a = 20;
WriteLine("Type:{0}, Value:{1}", a.GetType(),a); //Type:System.Int32, Value:20
var b = 3.141421;
WriteLine("Type:{0}, Value:{1}", b.GetType(), b);
var c = "Hello World !";
WriteLine("Type:{0}, Value:{1}", c.GetType(), c);
var d = new int[] { 10, 20, 30 };
WriteLine("Type:{0}", d.GetType());
foreach (var e in d)
Write("{0} ",e);
}
}
}
์ถ๋ ฅ๊ฒฐ๊ณผ
Type:System.Int32, Value:20
Type:System.Double, Value:3.141421
Type:System.String, Value:Hello World !
Type:System.Int32[]
10 20 30
ํ๋ ๋ ์ถ๊ฐ
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
static void Main(string[] args)
{
var d = new string[] { "I", "Hate", "You" };
WriteLine("Type:{0}", d.GetType());
foreach (var e in d)
Write("{0} ",e);
}
}
}
์ถ๋ ฅ๊ฒฐ๊ณผ
Type:System.String[]
I Hate You
<Object ํ์๊ณผ์ ์ฐจ์ด?>
๋ฌผ๋ก Object๋ var์ ๊ฐ์ด ์ ์, ์ค์, ๋ฌธ์์ด์ ๋์ ํ ์ ์๋ค.
object ํ์์ object ํ์์ผ ๋ฟ์ด๋ค.
object a =20;์ด ์ปดํ์ผ๋์ด ์คํ๋๋ฉด CLR์ 20์ ๋ฐ์ฑํด์ ํ์ ๋ฃ์ด๋๊ณ
a๊ฐ ํ์ ๊ฐ๋ฆฌํค๋๋ก ๋ง๋ค ๊ฒ์ด๋ค.
ํ์ง๋ง var a = 20;์ ์ปดํ์ผ ์์ ์ ์ปดํ์ผ๋ฌ๊ฐ a์ ์ ํฉํ ๋ฐ์ดํฐ ํ์์ ํ์ ํด์
int a = 20;์ผ๋ก ๋ฐ๊ฟ ์ปดํ์ผํ๋ค.
CLR์ด ํด๋น ์ฝ๋๋ฅผ ์คํํ ๋๋ a๊ฐ var๋ก ์ ์ธ๋์๋์ง์กฐ์ฐจ ๋์น์ฑ์ง ๋ชปํ๊ณ
int ํ์์ ๊ฐ์ฒด a์ 20์ ๋ด์ ์คํ์ ์ฌ๋ฆฐ๋ค.
'C# > ์ด๊ฒ์ด C#์ด๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
10. ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ (0) | 2022.02.07 |
---|---|
9. ๊ณต์ฉ ํ์ ์์คํ (0) | 2022.02.07 |
7. Nullable, HasValue, Value (0) | 2022.02.07 |
6. ์์์ ์ด๊ฑฐ ํ์ (const, enum): ํ๋ก๊ทธ๋๋จธ์ ์ค์๋ฅผ ๋ง๋ ์ฅ์น (0) | 2022.02.07 |
5. Parse์ ToString() ๋ฌธ์์ด์ ์ซ์๋ก, ์ซ์๋ฅผ ๋ฌธ์์ด๋ก (0) | 2022.02.07 |