C# 18

[C#] String.IsNullOrEmpty() ์ •์  ๋ฉ”์„œ๋“œ๋ž€

C# ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค๊ฐ€ String.IsNullOrEmpty()๊ฐ€ ์‚ฌ์šฉ๋œ ๋ถ€๋ถ„์„ ๋ดค๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ ค๋ฉด String.IsNullOrEmpty()๊ฐ€ ์™œ ์“ฐ์˜€๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.  1. String.IsNullOrEmpty()๋ž€?String.IsNullOrEmpty()๋Š” ๋ฌธ์ž์—ด์ด null์ด๊ฑฐ๋‚˜ ๋นˆ ๋ฌธ์ž์—ด("")์ธ์ง€ ํ™•์ธ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” C#์˜ ์ •์  ๋ฉ”์„œ๋“œ๋‹ค.์ด ๋ฉ”์„œ๋“œ๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ์— true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.๋ฌธ์ž์—ด์ด null์ผ ๋•Œ๋ฌธ์ž์—ด์ด ๋นˆ ๋ฌธ์ž์—ด("")์ผ ๋•Œ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด null๊ณผ ๋นˆ ๋ฌธ์ž์—ด์„ ๋”ฐ๋กœ๋”ฐ๋กœ ์ฒดํฌํ•  ํ•„์š” ์—†์ด ํ•œ ๋ฒˆ์— ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์–ด ์ฝ”๋“œ๊ฐ€ ๋” ๊น”๋”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง„๋‹ค.  1...

C# 2024.12.15

[C#] ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ด ๊ธ€์—์„œ๋Š” ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ณ , ์ผ๋ฐ˜ํ™” ๋ฉ”์„œ๋“œ์™€ ํด๋ž˜์Šค์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•œ๋‹ค. ๋˜ํ•œ, List, Queue, Stack, Dictionary ์ผ๋ฐ˜ํ™” ์ปฌ๋ ‰์…˜์˜ ์ข…๋ฅ˜๋„ ํ•จ๊ป˜ ์ •๋ฆฌํ•˜์˜€๋‹ค. ์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?์ผ๋ฐ˜ํ™” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํŠน์ •ํ•œ ๊ฐœ๋…์—์„œ ๊ณตํ†ต๋œ ๊ฐœ๋…์„ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์„ ์˜๋ฏธ์ฆ‰, ํ•œ๊ฐ€์ง€ ์ฝ”๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์— ํ™œ์šฉ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒ€์ž…์„ ์˜ค๋ฒ„๋กœ๋”ฉํ•˜์ง€ ์•Š๊ณ , ํ•˜๋‚˜์˜ ์ œ๋„ค๋ฆญ ํ˜•์‹ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํƒ€์ž…์„ ์ง€์›   ์ผ๋ฐ˜ํ™” ๋ฉ”์†Œ๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ตฌ์ฒด์ ์ธ ํ˜•์‹ int, string ์ด๋ฆ„ ๋Œ€์‹  ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋Š” ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜์‚ฌ์šฉ๋ฒ•์€ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„ ๋’ค์— ํ˜•์‹ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋ถ™์ธ๋‹ค.void CopyArray(T[] source, T[..

C# 2024.09.01

[C#] ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ๋ฐ ์ข…๋ฃŒ ๋ฐฉ๋ฒ•

C#์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ค‘์š”ํ•œ ๋„๊ตฌ์ด๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์•Œ์•„๋ณธ๋‹ค. ๋˜ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋˜๋„๋ก ํ•˜๋Š” ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋„ ์‚ดํŽด๋ณด์ž.  ์Šค๋ ˆ๋“œ ์ƒ์„ฑํ•˜๊ธฐThread ํด๋ž˜์Šค๋Š” System.Threading ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ œ๊ณต๋˜๋Š” ํด๋ž˜์Šค๋กœ, ์Šค๋ ˆ๋“œ์˜ ์ƒ์„ฑ, ์ข…๋ฃŒ, ๋ฐ ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.์ด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.์Šค๋ ˆ๋“œ ์ƒ์„ฑ: ์ƒˆ๋กœ์šด ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.์Šค๋ ˆ๋“œ ์ข…๋ฃŒ: ์Šค๋ ˆ๋“œ๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๊ฑฐ๋‚˜ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์Šค๋ ˆ๋“œ๋ฅผ ์ข…..

C# 2024.06.03

[C#] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ๊ฐœ๋… - Main ์Šค๋ ˆ๋“œ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ

์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๋‹จ์œ„๋กœ, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CPU ์‚ฌ์šฉ๋ฅ ์„ ๋†’์ด๊ณ , ์‘๋‹ต์„ฑ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Šค๋ ˆ๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋™๊ธฐํ™” ๋ฌธ์ œ๋‚˜ ๊ต์ฐฉ ์ƒํƒœ(deadlock) ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ํ• ์ˆ˜ ์žˆ๋‹ค. C#์—์„œ์˜ ์Šค๋ ˆ๋“œ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.  ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ž€?ํ”„๋กœ์„ธ์Šค์˜ ์ •์˜: ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์‹คํ–‰๋˜๋„๋ก ์˜ฌ๋ ค์ง€๋Š” ๊ฒƒ์ด ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์›Œํฌ์ธํŠธ๋‚˜ ์œˆ๋„์šฐ ๋ฏธ๋””์–ด ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์‹คํ–‰๋˜๋ฉด ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค. ์ž‘์—… ๊ด€๋ฆฌ์ž: ์ž‘์—…๊ด€๋ฆฌ์ž(Task Manager)์—์„œ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณผ์ˆ˜ ์žˆ๋‹ค.๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค: ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค..

C# 2024.06.02

[C#] ๊ทธ๋ž˜ํ”ฝ GDI+ ๊ฐœ๋…๊ณผ ๊ฐ„๋‹จํ•œ ๋„ํ˜• ๊ทธ๋ฆฌ๊ธฐ

GDI ๋ž€?GDI(Graphical Device Interface)๋Š” ์šด์˜์ฒด์ œ์—์„œ ๊ทธ๋ž˜ํ”ฝ ์ถœ๋ ฅ์„ ์œ„ํ•ด ๊ทธ๋ž˜ํ”ฝ ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ์–ดํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๊ฐ ๋ฒค๋”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋ž˜ํ”ฝ ๋””๋ฐ”์ด์Šค์— ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. GDI๋Š” ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ๋Š” gdi.dll ํ˜•ํƒœ๋กœ ์ œ๊ณต๋œ๋‹ค. 1. ๋™์ž‘๋ฐฉ์‹ํ”„๋กœ๊ทธ๋žจ์ด ๊ทธ๋ž˜ํ”ฝ ์ถœ๋ ฅ์„ ์š”์ฒญํ•  ๋•Œ์˜ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:  2. ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋ž€?๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋Š” OS ์ƒ์—์„œ ์—ฌ๋Ÿฌ ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ทธ๋ž˜ํ”ฝ, ์‚ฌ์šด๋“œ ๋“ฑ ๋‹ค์–‘ํ•œ ์žฅ์น˜๊ฐ€ ์žˆ๊ณ , ๊ฐ ์ œ์กฐ์‚ฌ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค:๊ทธ๋ž˜ํ”ฝ ์นด๋“œ, ์‚ฌ์šด๋“œ ์นด๋“œ ๋“ฑ์˜ ์žฅ์น˜๋ฅผ ์ œ์–ด์žฅ..

C# 2024.05.22

[C#] ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ์ดํ•ดํ•˜๊ธฐ - C++, C# ๋น„๊ต

์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€ ํŠน์ • ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑ๋˜๊ณ , ์ „์—ญ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ๋‚ด์—์„œ ๋‹จ์ผ ๊ฐ์ฒด๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ „์— C++๋กœ ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ๊ตฌํ˜„ํ•œ๊ฒƒ๊ณผ ๋น„๊ตํ•˜์—ฌ, C#์—์„œ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.  ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐํ”„๋กœ์ ํŠธ ์ฝ˜์†”์•ฑ์œผ๋กœ "์‹ฑ๊ธ€ํ†คํŒจํ„ด"ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ > Singleton ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑ public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { ..

C# 2024.05.21

[C#] ์ผ๋ฐ˜ํ™”๋œ ์ œ๋„ค๋ฆญ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์ปฌ๋ ‰์…˜์˜ ํ™œ์šฉ

์ปฌ๋ ‰์…˜๊ณผ ์ œ๋„ค๋ฆญ์„ ํ˜ผ๋™ํ•˜๋Š” ๊ฒƒ์€ ํ”ํ•œ๋ฐ, ๋‘˜์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. ์ปฌ๋ ‰์…˜์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“๊ณ , ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ด ์ž๋ฃŒ๊ตฌ์กฐ๋“ค์€ ๋ฐฐ์—ด ๋ฆฌ์ŠคํŠธ, ํ•ด์‹œ, ๋งต, ์Šคํƒ, ํ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.์ œ๋„ค๋ฆญ์€ ํƒ€์ž…์„ ๋™์ ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋‚˜, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๊ฒฐ์ •๋œ๋‹ค. ์ด๋ฅผ ํ…Œ๋ฉด, ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์ œ๋„ค๋ฆญ์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์œ ์—ฐ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ๊ตฌ์ฒดํ™”๋˜์ง€ ์•Š์ง€๋งŒ, ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” ํƒ€์ž…์ด ๊ฒฐ์ •๋˜์–ด ์žˆ๋‹ค. ์ œ๋„ค๋ฆญ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์€ ์ข€ ๋‚ฎ์„ ์ˆ˜ ์žˆ์œผ๋‚˜ ํƒ€์ž… ์•ˆ์ •์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ ์ธก๋ฉด์—์„œ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค. ์ œ๋„ค๋ฆญ์— ..

C# 2024.05.15

[C#] ์•”๋ฌต์  ํƒ€์ž… ์ถ”๋ก ๊ณผ ๋™์  ํƒ€์ž… - var์™€ dynamic ํ™œ์šฉ

C#์—์„œ๋Š” varํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ objectํ˜•ํƒœ๋กœ ๋ฐ›์€ ๊ฐ’์„ varํ˜•ํƒœ๋กœ ๋‹ค์‹œ ์ถœ๋ ฅํ• ์ˆ˜ ์žˆ๋‹ค.์ด ํŒจํ„ด์€ ํŒจํ„ด ๋งค์นญ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๋ณ€์ˆ˜๋ฅผ ํŠน์ • ์œ ํ˜•์œผ๋กœ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ์‚ฌ์šฉํ• ๋•Œ ์œ ์šฉํ•˜๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž˜ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š์ง€๋งŒ, ์ฝ”๋“œ๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”๋ฐ ๋„์›€์ด๋œ๋‹ค. ์ด์ œ var ํŒจํ„ด์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.    ์•”๋ฌต์  ํƒ€์ž… ์ถ”๋ก ์„ ํ™œ์šฉํ•œ C#์˜ var ํŒจํ„ด ์ดํ•ดํ•˜๊ธฐ์•„๋ž˜ ์ฝ”๋“œ๋Š” ๊ฐ€์žฅ ๋จผ์ €, varํŒจํ„ด์„ ๋ณ€์ˆ˜๋ฅผ ์ž„์˜์˜ ํƒ€์ž…์ธ var ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ํ›„ ์กฐ๊ฑด์„ ์ ๊ฒ€ํ•œ๋‹ค. ์ด๋•Œ, ์กฐ๊ฑด์„ ์ ๊ฒ€ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ผ๋‹จ ๋ณ€์ˆ˜๋กœ ๊ฐ’์„ ๋ฐ›์•„์•ผํ•œ๋‹ค.object obj = "korea";if(obj is var str){ Console.WriteLine(str);} ์˜ˆ๋ฅผ ๋“ค์–ด, `object obj ..

C# 2024.05.15