ÄÁÅÙÃ÷»ó¼¼º¸±â

ÀÌÆåƼºê C# (3ÆÇ)
ÀÌÆåƼºê C# (3ÆÇ)
  • ÀúÀÚ<ºô ¿Í±×³Ê> Àú/<±è¸í½Å> ¿ª
  • ÃâÆÇ»çÇѺû¹Ìµð¾î
  • ÃâÆÇÀÏ2017-11-20
  • µî·ÏÀÏ2018-12-04
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 16, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

´õ ³ªÀº C# Äڵ带 ÀÛ¼ºÇϴ »õ·Î¿î ¹æ¹ý 50°¡Áö 

C#Àº ÀüÅëÀûÀΠ.NET ±â¹Ý °³¹ß¿¡¼­ À¯´ÏƼ °ÔÀÓ ¿£ÁøÀ¸·Î °³¹ß ¿µ¿ªÀ» È®´ëÇϸ鼭 ´õ¿í ÁÖ¸ñ¹Þ°í ÀÖ´Ù. ¶ÇÇÑ ÀÚ¸¶¸°À¸·Î ´Ù¾çÇÑ ¸ð¹ÙÀÏ Ç÷§Æû¿¡ ´ëÀÀÇÒ ¼ö À־ö¿ä°¡ °è¼Ó ´Ã°í ÀÖ´Ù. ÀÌ¿¡ À̠åÀº ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ°¡ C#À» ´õ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ´Ù¾çÇÑ ÆÁ°ú ½Ç¿ëÀûÀΠ¹æ¹ýÀ» Á¦°øÇÑ´Ù. 

ÀúÀڴ C#ÀÇ ÈûÀ» ¿ÂÀüÈ÷ È°¿ëÇÏ¿© È¿À²ÀûÀÌ°í ¼º´ÉÀÌ ¶Ù¾î³­ Äڵ带 ÀÛ¼ºÇϴ ¹æ¹ý 50°¡Áö¸¦ ¾Ë·ÁÁØ´Ù. Å¹¿ùÇÑ C# °æÇèÀ» ¹ÙÅÁÀ¸·Î ¸®¼Ò½º °ü¸®ºÎÅÍ ´ÙÁß ÄÚ¾î Áö¿ø±îÁö ¼³¸íÇÏ°í, »óȲ¿¡ ¸Â´Â ´Ù¾çÇÑ ¼±ÅÃÁö¸¦ Á¦½ÃÇÑ´Ù. °¡Àå È¿°úÀûÀΠ¼Ö·ç¼ÇÀ» ¼±ÅÃÇÏ°í, À¯Áöº¸¼ö¿Í °³¼±ÀÌ ½¬¿î Äڵ带 ÀÛ¼ºÇϴ ¹æ¹ýµµ »ìÆ캻´Ù.

¸íÈ®ÇÏ°í ½Ç¿ëÀûÀΠ¼³¸í°ú Àü¹®°¡ÀÇ ÆÁ, Çö½ÇÀûÀΠ¿¹Á¦ ÄÚµå·Î °¡µæÇÑ À̠åÀ̾߸»·Î Áß±Þ °³¹ßÀÚÀÇ Çʼö ¾ÆÀÌÅÛÀ¸·Î ÀÚ¸®¸Å±èÇϴ µ¥ ºÎÁ·ÇÔÀÌ ¾øÀ» °ÍÀÌ´Ù.

ÀúÀÚ¼Ò°³

Àϸ®³ëÀÌ ´ëÇп¡¼­ ÄÄÇ»ÅÍ °úÇÐÀ» Àü°øÇß°í ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ .NET Core ÄÜÅÙÃ÷ ÆÀ¿¡¼­ .NET °ü·Ã ±³À° ÀڷḦ ÀÛ¼ºÇϴ ¾÷¹«¸¦ ´ã´çÇÏ°í ÀÖ´Ù. ¼¼°è ÃÖ°íÀÇ C# Àü¹®°¡ Áß ÇÑ ¸íÀ̸ç ECMA C# Ç¥ÁØ À§¿øȸÀÇ ¸â¹öÀ̱⵵ ÇÏ´Ù. È޸ŴÏÅ׸®¾ð Åø¹Ú½º(Humanitarian Toolbox)ÀÇ ´ëÇ¥ÀÌÀÚ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® Áö¿ª µð·ºÅÍÀΠµ¿½Ã¿¡ 11³â°£ .NET ºÐ¾ßÀÇ MVPÀ̱⵵ ÇÏ´Ù. ÃÖ±Ù¿¡´Â .NET Foundation ÀÚ¹® À§¿øÀ¸·Î À§Ã˵Ǿú´Ù. ½ºÅ¸Æ®¾÷ºÎÅÍ ´ë±â¾÷¿¡ À̸£±â±îÁö ´Ù¾çÇÑ ±â¾÷ÀÇ °³¹ß ÇÁ·Î¼¼½º¸¦ °³¼±ÇÏ°í °³¹ßÆÀÀ» ¼ºÀå½ÃÅ°´Â ÀÏÀ» µ½°í ÀÖ´Ù. ¾Õ¼­ ¡ºEffective C#¡»ÀÇ 1ÆÇ°ú 2ÆÇÀ» Ãâ°£ÇÑ ¹Ù ÀÖ´Ù.

¸ñÂ÷

CHAPTER 1 C# ¾ð¾î ¿ä¼Ò
¾ÆÀÌÅÛ 1: Áö¿ªº¯¼ö¸¦ ¼±¾ðÇÒ ¶§¿¡´Â var¸¦ »ç¿ëÇϴ °ÍÀÌ ³´´Ù 
¾ÆÀÌÅÛ 2: constº¸´Ù´Â readonly°¡ ÁÁ´Ù 
¾ÆÀÌÅÛ 3: Ä³½ºÆ®º¸´Ù´Â is, as°¡ ÁÁ´Ù 
¾ÆÀÌÅÛ 4: string.Format()À» º¸°£ ¹®ÀÚ¿­·Î ´ëüÇ϶ó 
¾ÆÀÌÅÛ 5: ¹®È­±Çº°·Î ´Ù¸¥ ¹®ÀÚ¿­À» »ý¼ºÇÏ·Á¸é FormattableStringÀ» »ç¿ëÇ϶ó 
¾ÆÀÌÅÛ 6: nameof() ¿¬»êÀÚ¸¦ Àû±Ø È°¿ëÇ϶ó 
¾ÆÀÌÅÛ 7: µ¨¸®°ÔÀÌÆ®¸¦ ÀÌ¿ëÇÏ¿© ÄݹéÀ» Ç¥ÇöÇ϶ó 
¾ÆÀÌÅÛ 8: À̺¥Æ® È£Ã⠽ÿ¡´Â null Á¶°Ç ¿¬»êÀÚ¸¦ »ç¿ëÇ϶ó 
¾ÆÀÌÅÛ 9: ¹Ú½Ì°ú ¾ð¹Ú½ÌÀ» ÃÖ¼ÒÈ­Ç϶ó 
¾ÆÀÌÅÛ 10: º£À̽º Å¬·¡½º°¡ ¾÷±×·¹À̵åµÈ °æ¿ì¿¡¸¸ new ÇÑÁ¤ÀÚ¸¦ »ç¿ëÇ϶ó 

CHAPTER 2 .NET ¸®¼Ò½º °ü¸®
¾ÆÀÌÅÛ 11: .NET ¸®¼Ò½º °ü¸®¿¡ ´ëÇÑ ÀÌÇØ 
¾ÆÀÌÅÛ 12: ÇÒ´ç ±¸¹®º¸´Ù ¸â¹ö ÃʱâÈ­ ±¸¹®ÀÌ ÁÁ´Ù 
¾ÆÀÌÅÛ 13: Á¤Àû Å¬·¡½º ¸â¹ö¸¦ ¿Ã¹Ù¸£°Ô ÃʱâÈ­Ç϶ó 
¾ÆÀÌÅÛ 14: ÃʱâÈ­ Äڵ尡 Áߺ¹µÇ´Â °ÍÀ» ÃÖ¼ÒÈ­Ç϶ó 
¾ÆÀÌÅÛ 15: ºÒÇÊ¿äÇÑ °´Ã¼¸¦ ¸¸µéÁö ¸»¶ó 
¾ÆÀÌÅÛ 16: »ý¼ºÀÚ ³»¿¡¼­´Â Àý´ë·Î °¡»ó ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¸»¶ó 
¾ÆÀÌÅÛ 17: Ç¥ÁØ Dispose ÆÐÅÏÀ» ±¸ÇöÇ϶ó 

CHAPTER 3 Á¦³×¸¯ È°¿ë
¾ÆÀÌÅÛ 18: ¹Ýµå½Ã ÇÊ¿äÇÑ Á¦¾à Á¶°Ç¸¸ ¼³Á¤Ç϶ó 
¾ÆÀÌÅÛ 19: ·±Å¸ÀÓ¿¡ Å¸ÀÔÀ» È®ÀÎÇÏ¿© ÃÖÀûÀÇ ¾Ë°í¸®ÁòÀ» »ç¿ëÇ϶ó 
¾ÆÀÌÅÛ 20: IComparable[T]¿Í IComparer[T]¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼ÀÇ ¼±ÈÄ °ü°è¸¦ Á¤ÀÇÇ϶ó 
¾ÆÀÌÅÛ 21: Å¸ÀÔ ¸Å°³º¯¼ö°¡ IDisposableÀ» Áö¿øÇÒ °æ¿ì¸¦ ´ëºñÇÏ¿© Á¦³×¸¯ Å¬·¡½º¸¦ ÀÛ¼ºÇ϶ó 
¾ÆÀÌÅÛ 22: °øº¯¼º°ú ¹Ý°øº¯¼ºÀ» Áö¿øÇ϶ó 
¾ÆÀÌÅÛ 23: Å¸ÀÔ ¸Å°³º¯¼ö¿¡ ´ëÇØ ¸Þ¼­µå Á¦¾à Á¶°ÇÀ» ¼³Á¤ÇÏ·Á¸é µ¨¸®°ÔÀÌÆ®¸¦ È°¿ëÇ϶ó 
¾ÆÀÌÅÛ 24: º£À̽º Å¬·¡½º³ª ÀÎÅÍÆäÀ̽º¿¡ ´ëÇؼ­ Á¦³×¸¯À» Æ¯È­ÇÏÁö ¸»¶ó 
¾ÆÀÌÅÛ 25: Å¸ÀÔ ¸Å°³º¯¼ö·Î ÀνºÅϽº Çʵ带 ¸¸µé ÇÊ¿ä°¡ ¾ø´Ù¸é Á¦³×¸¯ ¸Þ¼­µå¸¦ Á¤ÀÇÇ϶ó 
¾ÆÀÌÅÛ 26: Á¦³×¸¯ ÀÎÅÍÆäÀ̽º¿Í ³íÁ¦³×¸¯ ÀÎÅÍÆäÀ̽º¸¦ ÇÔ²² ±¸ÇöÇ϶ó 
¾ÆÀÌÅÛ 27: ÀÎÅÍÆäÀ̽º´Â °£·«È÷ Á¤ÀÇÇÏ°í ±â´ÉÀÇ È®ÀåÀº È®Àå ¸Þ¼­µå¸¦ »ç¿ëÇ϶ó 
¾ÆÀÌÅÛ 28: È®Àå ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© ±¸Ã¼È­µÈ Á¦³×¸¯ Å¸ÀÔÀ» °³¼±Ç϶ó 

CHAPTER 4 LINQ È°¿ë
¾ÆÀÌÅÛ 29: Ä÷º¼ÇÀ» ¹ÝȯÇϱ⺸´Ù ÀÌÅÍ·¹ÀÌÅ͸¦ ¹ÝȯÇϴ °ÍÀÌ ³´´Ù 
¾ÆÀÌÅÛ 30: ·çÇÁº¸´Ù Äõ¸® ±¸¹®ÀÌ ³´´Ù 
¾ÆÀÌÅÛ 31: ½ÃÄö½º¿¡ »ç¿ëÇÒ ¼ö Àִ Á¶ÇÕ °¡´ÉÇÑ API¸¦ ÀÛ¼ºÇ϶ó 
¾ÆÀÌÅÛ 32: Action, Predicate, Function°ú ¼øȸ ¹æ½ÄÀ» ºÐ¸®Ç϶ó 
¾ÆÀÌÅÛ 33: ÇÊ¿äÇÑ ½ÃÁ¡¿¡ ÇÊ¿äÇÑ ¿ä¼Ò¸¦ »ý¼ºÇ϶ó 
¾ÆÀÌÅÛ 34: ÇÔ¼ö¸¦ ¸Å°³º¯¼ö·Î »ç¿ëÇÏ¿© °áÇÕµµ¸¦ ³·Ã߶ó 
¾ÆÀÌÅÛ 35: È®Àå ¸Þ¼­µå´Â Àý´ë ¿À¹ö·ÎµåÇÏÁö ¸¶¶ó 
¾ÆÀÌÅÛ 36: Äõ¸® Ç¥Çö½Ä°ú ¸Þ¼­µå È£Ãâ ±¸¹®ÀÌ ¾î¶»°Ô ´ëÀÀµÇ´ÂÁö ÀÌÇØÇ϶ó 
¾ÆÀÌÅÛ 37: Äõ¸®¸¦ »ç¿ëÇÒ ¶§´Â Áï½Ã Æò°¡º¸´Ù Áö¿¬ Æò°¡°¡ ³´´Ù 
¾ÆÀÌÅÛ 38: ¸Þ¼­µåº¸´Ù ¶÷´Ù Ç¥Çö½ÄÀÌ ³´´Ù 
¾ÆÀÌÅÛ 39: function°ú action ³»¿¡¼­´Â ¿¹¿Ü°¡ ¹ß»ýÇÏÁö ¾Êµµ·Ï Ç϶ó 
¾ÆÀÌÅÛ 40: Áö¿¬ ¼öÇà°ú Áï½Ã ¼öÇàÀ» ±¸ºÐÇ϶ó 
¾ÆÀÌÅÛ 41: °ªºñ½Ñ ¸®¼Ò½º¸¦ Ä¸Ã³ÇÏÁö ¸»¶ó 
¾ÆÀÌÅÛ 42: IEnumerable[T] µ¥ÀÌÅÍ ¼Ò½º¿Í IQueryable[T] µ¥ÀÌÅÍ ¼Ò½º¸¦ ±¸ºÐÇ϶ó 
¾ÆÀÌÅÛ 43: Äõ¸® °á°úÀÇ Àǹ̸¦ ¸íÈ®È÷ °­Á¦ÇÏ°í, Single()°ú First()¸¦ »ç¿ëÇ϶ó 
¾ÆÀÌÅÛ 44: ¹ÙÀεùµÈ º¯¼ö´Â ¼öÁ¤ÇÏÁö ¸»¶ó 

CHAPTER 5 ¿¹¿Ü Ã³¸®
¾ÆÀÌÅÛ 45: ¸Þ¼­µå°¡ ½ÇÆÐÇßÀ½À» ¾Ë¸®±â À§Çؼ­ ¿¹¿Ü¸¦ ÀÌ¿ëÇ϶ó 
¾ÆÀÌÅÛ 46: ¸®¼Ò½º Á¤¸®¸¦ À§ÇØ using°ú try/finally¸¦ È°¿ëÇ϶ó 
¾ÆÀÌÅÛ 47: »ç¿ëÀÚ ÁöÁ¤ ¿¹¿Ü Å¬·¡½º¸¦ ¿Ïº®ÇÏ°Ô ÀÛ¼ºÇ϶ó 
¾ÆÀÌÅÛ 48: °­·ÂÇÑ ¿¹¿Ü º¸ÁõÀ» ÁؼöÇϴ °ÍÀÌ ÁÁ´Ù 
¾ÆÀÌÅÛ 49: catch ÈÄ ¿¹¿Ü¸¦ ´Ù½Ã ¹ß»ý½ÃÅ°´Â °Íº¸´Ù ¿¹¿Ü ÇÊÅÍ°¡ ³´´Ù 
¾ÆÀÌÅÛ 50: ¿¹¿Ü ÇÊÅÍÀÇ ´Ù¸¥ È°¿ë ¿¹¸¦ »ìÆ캸¶ó