»ó¼¼Á¤º¸
Ã¥¼Ò°³
´õ ³ªÀº 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: ij½ºÆ®º¸´Ù´Â 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: ¿¹¿Ü ÇÊÅÍÀÇ ´Ù¸¥ È°¿ë ¿¹¸¦ »ìÆ캸¶ó