Çö´ë ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Æ¯Â¡À» °¡Àå Àß ±¸ÇöÇÑ C#´Ù³â°£ °ÀǸ¦ ÅëÇØ ÇлýµéÀÌ ½±°Ô ¹è¿ï ¼ö ÀÖ´Â ¹æ¹ýÀ» ã¾Æ ÁýÇÊÇÑ Ã¥ÀÌ´Ù. ±×·¸±â ¶§¹®¿¡ ½º½º·Î Èï¹Ì ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇØ ¹è¿ï ¼ö ÀÖµµ·Ï ÀÔ¹®ÀÚ¸¦ ¹è·ÁÇÏ°í ÀÖ´Ù. ÅؽºÆ® ±â¹ÝÀÇ ÄÜ¼Ö ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¼³¸íºÎÅÍ ±âº»±â¸¦ ÀÍÈ÷°í, ºñÁÖ¾ó ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ Àç¹ÌÀÖ´Â ÇÁ·Î±×·¥À» Á÷Á¢ ¸¸µé¸ç ÇнÀÇØ º¼ ¼ö ÀÖ´Â ±âȸ°¡ µÉ °ÍÀÌ´Ù. Ã¥¿¡ ¼ö·ÏµÈ ¸ðµç ¿¹Á¦´Â ºñÁÖ¾ó ½ºÆ©µð¿À 2019¿¡¼ ÀÛ¼ºÇÏ°í ½ÇÇàÇÏ¿´´Ù. ¼Ò½º ÄÚµå´Â Á¤º¸¹®È»ç ȨÆäÀÌÁö(infopub.co.kr) ÀÚ·á½Ç°ú ÀúÀÚÀÇ ±êÇãºê(github.com/BeeEyeDmu/CSharp200)¿¡¼ ´Ù¿î¹Þ¾Æ È°¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Q&A °Ô½ÃÆÇÀ» ¿î¿µÇÏ°í ÀÖÀ¸´Ï ÇнÀ Áß ±Ã±ÝÇÑ »çÇ×Àº ÀúÀÚÀÇ ºí·Î±×(post.naver.com/kquddlr)¿¡¼ Çǵå¹é °¡´ÉÇÏ´Ù.
ÇѾç´ëÇб³ ÀüÀÚ°øÇаú¿¡¼ Çлç, ¼®»ç, ¹Ú»ç ÇÐÀ§¸¦ ÃëµæÇÏ°í ¹Ì±¹ Ķ¸®Æ÷´Ï¾Æ »êÈ£¼¼ ÁÖ¸³´ëÇб³¿¡¼ ¹æ¹® ±³¼ö¸¦ Áö³Â´Ù. 1991³âºÎÅÍ °Ç¾ç´ëÇб³ ÀÇ·áIT°øÇаú ±³¼ö·Î ÀçÁ÷Çϸç 30³â °¡±îÀÌ C, C++, C#, ¾Ë°í¸®Áò µîÀ» °ÀÇÇÏ°í ÀÖ´Ù. ÇöÀç °ü½É ºÐ¾ß´Â ½º¸¶Æ®ÇコÄɾî¿Í IoTÀÌ´Ù.
PART 1 ÀÔ¹® C# ù¹ß ³»µó±â001 °£´ÜÇÑ C# ÇÁ·Î±×·¥À» ¸í·ÉÁÙ¿¡¼ ÄÄÆÄÀÏÇϱâ002 ºñÁÖ¾ó½ºÆ©µð¿À ¼³Ä¡ÇÏ°í Ãâ·Â003 Äֿܼ¡¼ ÀÐ°í ¾²±â004 º¯¼ö ¼±¾ð ¹× ÀÚ·áÇü(Type)005 ¹®ÀÚ¿Í ¹®ÀÚ¿006 ´ëÀÔ¿¬»êÀÚ¿Í ´ëÀÔ¹®007 ConsoleWriteLine ¸Þ¼Òµå008 ConsoleWriteLine ¸Þ¼Òµå·Î ¿©·¯ °³ÀÇ °ªÀ» Ãâ·Â009 µÎ º¯¼ö¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ý010 Çü½ÄÁöÁ¤ÀÚ¸¦ »ç¿ëÇÑ ConsoleWriteLine ¸Þ¼Òµå011 Çü½ÄÁöÁ¤ÀÚ¸¦ »ç¿ëÇÏ´Â StringFormat()°ú ToString()012 ½Ç¼ö¸¦ Ç¥ÇöÇÏ´Â float, double, decimal013 ij½ºÆðú ÀÚ·áÇü º¯È¯014 ¹®ÀÚ¿°ú ¼ýÀÚÀÇ º¯È¯015 Convert Ŭ·¡½º¿Í 2Áø¼ö, 8Áø¼ö, 16Áø¼ö Ãâ·Â016 C#ÀÇ ¿¬»êÀÚ¿Í ½Ä017 »ê¼ú¿¬»êÀÚ018 DivideByZeroException°ú try~catch ¹®019 OverflowException°ú checked Å°¿öµå020 °ü°è¿¬»êÀÚ021 ³í¸®¿¬»êÀÚ022 ºñÆ®¿¬»êÀÚ023 Á¶°Ç¿¬»êÀÚ(? :)024 Áõ°¡¿¬»êÀÚ, °¨¼Ò¿¬»êÀÚ¿Í ´ëÀÔ¿¬»êÀÚÀÇ ¾ÐÃà025 String Ŭ·¡½º026 StringSplit() ¸Þ¼Òµå¸¦ »ç¿ëÇÑ ¹®ÀÚ¿ ±¸¹® ºÐ¼®027 ¹®ÀÚ¿À» ¿¬°áÇÏ´Â ³× °¡Áö ¹æ¹ý028 ¹®ÀÚ¿ÀÇ °Ë»ö029 StringFormatÀÇ ³¯Â¥¿Í ½Ã°£ Çü½Ä ÁöÁ¤030 ±×·ì ºÐ¸®ÀÚ¸¦ ³Ö´Â ¹æ¹ý031 String°ú StirngBuilderÀÇ Â÷ÀÌÁ¡032 ¿°ÅÇü enum033 »ó¼ö, const¿Í readonly034 °ª Çü½Ä°ú ÂüÁ¶ Çü½Ä, ref Å°¿öµå035 ¹è¿°ú °´Ã¼¸¦ ¸Þ¼Òµå ¸Å°³º¯¼ö·Î Àü´Þ036 Null Á¶°Ç ¿¬»êÀÚ(?)037 º¯¼öÀÇ ÃʱâÈ¿Í default038 NullableÇü039 object ŸÀÔ°ú ¹Ú½Ì, ¾ð¹Ú½Ì040 if~else Á¶°Ç¹®041 switch ¹®042 BMI °è»ê±â043 ¹Ýº¹¹®(1¿¡¼ 100±îÁö ´õÇϱâ, Ȧ¼öÀÇ ÇÕ, ¿ª¼öÀÇ ÇÕ)044 ¹Ýº¹¹®À¸·Î 2Áø, 8Áø, 16Áø¼ö Ãâ·Â045 ¹Ýº¹¹®À¸·Î ±¸±¸´Ü Ãâ·Â046 Æò±Õ, ÃÖ¼Ò, ÃÖ´ë°ª ±¸Çϱâ047 xÀÇ y½Â ±¸Çϱâ048 ÆÑÅ丮¾ó ±¸Çϱâ049 ¼Ò¼ö ÆÇ´ÜÇϱâ050 ¿øÁÖÀ²ÀÇ °è»ê051 ¹«ÇÑ·çÇÁ¿Í break ¹®052 ÇÕ°è°¡ 10000ÀÌ ³Ñ´Â ¼ø°£053 ÀÌÁß ¹Ýº¹¹®À¸·Î 1~n±îÁöÀÇ ÆÑÅ丮¾ó°ú ÇÕ ±¸Çϱâ054 ÀÌÁß ·çÇÁ¸¦ ÀÌ¿ëÇÏ¿© ±¸±¸´Ü Ãâ·Â055 1000±îÁöÀÇ ¼Ò¼ö¸¦ Ãâ·ÂÇÏ°í ¸î °³ÀÎÁö Ãâ·Â056 ÀÌÁß ·çÇÁ¿Í ÇǶó¹Ìµå Ãâ·ÂPART 2 ÃÊ±Þ C# ±âÃÊ ´ÙÁö±â057 ¹è¿ÀÇ ÃʱâÈ¿Í ¹è¿ ¿ä¼ÒÀÇ Ãâ·Â058 ¹è¿°ú Array Ŭ·¡½º059 ´ÙÂ÷¿ø ¹è¿060 À̸§À» ¹è¿¿¡ ÀúÀåÇÏ°í ¾ËÆĺª ¼øÀ¸·Î Á¤·Ä061 Random Ŭ·¡½º062 ¹è¿¿¡¼ ÃÖ¼Ò, ÃÖ´ë, Æò±Õ °è»ê063 ¼±ÇüŽ»ö°ú ÀÌÁøŽ»ö064 ¹öºíÁ¤·Ä065 Ŭ·¡½º¿Í ±¸Á¶Ã¼066 Ŭ·¡½ºÀÇ ¸â¹ö, Çʵå¿Í »ó¼ö067 ÀνºÅϽº ¸Þ¼Òµå¿Í ½ºÅÂƽ ¸Þ¼Òµå068 »ý¼ºÀÚ ¸Þ¼Òµå069 ¼Ó¼º(Property)070 ¼¼ °³ÀÇ ¼ýÀÚ Áß °¡Àå Å« ¼ö¸¦ ã´Â Á¤Àû ¸Þ¼Òµå071 ¼Ò¼öÀÎÁö¸¦ ¾Ë¾Æ³»´Â Á¤Àû ¸Þ¼Òµå072 À±³âÀÎÁö ¾Ë¾Æ³»´Â Á¤Àû ¸Þ¼Òµå073 »ý¾Ö°è»ê±â074 ÇǶó¹Ìµå ¸Þ¼Òµå075 ÆÑÅ丮¾óÀ» °è»êÇÏ´Â ¸Þ¼Òµå076 µÎ ¼ýÀÚ »çÀÌÀÇ ¸ðµç Á¤¼ö °ªÀ» ´õÇÏ´Â ¸Þ¼Òµå077 nÀÇ m½ÂÀ» °è»êÇÏ´Â ¸Þ¼Òµå078 ¿øÀÇ ¸éÀûÀ» °è»êÇÏ´Â ¸Þ¼Òµå079 Àç±Í¸Þ¼Òµå Power(x, y)080 Àç±Í¸Þ¼Òµå·Î ÆÑÅ丮¾ó °è»ê081 Àç±Í¸Þ¼Òµå·Î ¿ª¼öÀÇ ÇÕ °è»ê082 ÇϳëÀÌÀÇ Å¾°ú ¸Þ¸£¼¾ ¼ö083 Àç±Í ÀÌÁøŽ»ö084 Stopwatch·Î ÇǺ¸³ªÄ¡ ¼ö¿ÀÇ ½ÇÇà ½Ã°£ ÃøÁ¤085 DateTime ±¸Á¶Ã¼086 TimeSpan ±¸Á¶Ã¼ÀÇ »ç¿ë ¹æ¹ý087 TimeSpanÀ» ÀÌ¿ëÇÑ »ý¾Ö°è»ê±â088 DateTime Format089 ¸Þ¼Òµå¿¡ Àμö¸¦ Àü´ÞÇÏ´Â ¼¼ °¡Áö ¹æ¹ý090 °¡º¯±æÀÌ ¸Å°³º¯¼ö paramsÀÇ »ç¿ë ¹æ¹ý091 ¼±ÅÃÀû Àμö¿Í ¸í¸íµÈ Àμö092 ¸Þ¼Òµå ¿À¹ö·ÎµùPART 3 Áß±Þ C# ½Ç·Â ´ÙÁö±â093 ÀϹÝÈ ¸Þ¼Òµå(Á¦³×¸¯ ¸Þ¼Òµå)094 ÀϹÝÈ Å¬·¡½º(Á¦³×¸¯ Ŭ·¡½º)095 dynamicÇüÀ» »ç¿ëÇÏ´Â ÀϹÝÈ ÇÁ·Î±×·¥096 LinkedListÀÇ ±¸Çö097 LinkedList Ŭ·¡½º¸¦ È°¿ëÇÑ ÇÁ·Î±×·¥098 Stack¡´T¡µÀÇ ±¸Çö099 ½ºÅÃÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥100 Queue¡´T¡µÀÇ ±¸Çö101 Å¥¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥102 Ä÷º¼Ç, ArrayListÀÇ »ç¿ë103 List¡´T¡µ Ä÷º¼Ç104 List¡´T¡µ¿Í ¹è¿ÀÇ Á¤·Ä105 ¹è¿À» ³»¸²Â÷¼øÀ¸·Î Á¤·ÄÇÏ´Â ¹æ¹ý106 µÎ °³ÀÇ ¹è¿À» ½ÖÀ¸·Î Á¤·Ä107 IComparable ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÑ °´Ã¼ÀÇ Á¤·Ä108 Queue¡´T¡µ Ä÷º¼ÇÀÇ »ç¿ë ¹æ¹ý109 Stack¡´T¡µ¿Í Polish °è»ê±â110 Hashtable°ú Dictionary¡´TKey, TValue¡µ111 SortedList¿Í SortedList¡´TKey, TValue¡µ112 Àε¦¼113 DelegateÀÇ ±âº», ¹è¿¿¡¼ Ȧ¼ö¿Í ¦¼ö ã±â114 À̸§ ¾ø´Â µ¨¸®°ÔÀÌÆ®(Anonymous Delegate)115 Func¿Í ActionÀ¸·Î µ¨¸®°ÔÀÌÆ®¸¦ ´õ °£´ÜÈ÷ ¸¸µé±â116 ¶÷´Ù½Ä(Lambda Expression) 117 ¶÷´Ù½ÄÀÇ »ç¿ë118 Predicate¡´T¡µ µ¨¸®°ÔÀÌÆ®119 List¡´T¡µ¿¡¼ Predicate¡´T¡µ µ¨¸®°ÔÀÌÆ® »ç¿ë120 LINQÀÇ ±âÃÊ121 LINQ¸¦ ÀÌ¿ëÇÑ Á¶°Ç °Ë»ö°ú Á¤·Ä122 LINQÀÇ °á°ú¸¦ ¸®½ºÆ®³ª ¹è¿·Î ¹Ýȯ123 Äõ¸®ÀÇ °á°ú¸¦ »õ·Î¿î °´Ã¼ Ä÷º¼ÇÀ¸·Î ÀúÀåÇÏ´Â ¹æ¹ý124 Linq, Group By·Î µ¥ÀÌÅ͸¦ ºÐ·ùPART 4 È°¿ë C# ºñÁÖ¾ó ÇÁ·Î±×·¡¹Ö125 WinForm ÇÁ·ÎÁ§Æ®ÀÇ »ý¼º126 À©Æû ÅÛÇø´ ¾øÀÌ À©Æû ÇÁ·Î±×·¥À» ¸¸µå´Â ¹æ¹ý127 WinFormÀ¸·Î Hello World ÇÁ·Î±×·¥ ¸¸µé±â128 ¼Ö·ç¼Ç ¹× ÇÁ·ÎÁ§Æ® ÆÄÀÏÀÇ À§Ä¡129 Form Ŭ·¡½º¿Í µÎ °³ÀÇ Æû ¶ç¿ì±â130 ¸Þ½ÃÁö¹Ú½º131 ÅؽºÆ®¹Ú½º, ·¹À̺í, ¹öÆ° ÄÁÆ®·Ñ132 ·¹ÀÌºí¿¡¼ ¿©·¯ ÁÙÀÇ ¹®ÀÚ¿ Ç¥½Ã133 flag¸¦ ÀÌ¿ëÇÑ À̺¥Æ® ó¸®134 üũ¹Ú½º135 ¶óµð¿À¹öÆ°°ú ±×·ì¹Ú½º136 ·Î±×ÀΠâ ¸¸µé±â137 ¼ºÀû°è»ê±â138 MaskedTextBox139 ½ºÅ©·Ñ¹Ù(ScrollBar)·Î RGB Ä÷¯ Á¶Á¤140 ¸®½ºÆ®¹Ú½º¿¡ Ç׸ñÀ» Ç¥½ÃÇÏ´Â ¼¼ °¡Áö ¹æ¹ý141 ÄÞº¸¹Ú½º¸¦ ÀÌ¿ëÇÑ ½Ä´ç ¸®½ºÆ®ÀÇ Ãß°¡, »èÁ¦142 CheckedListBox¸¦ ÀÌ¿ëÇÑ Èñ¸Á ¿©ÇàÁö ¸®½ºÆ®143 ÄÞº¸¹Ú½º¸¦ ÀÌ¿ëÇÑ ÇÐÁ¡°è»ê±â144 ¸®½ºÆ®ºä¸¦ ÀÌ¿ëÇÑ »óÇ° ¸®½ºÆ® Ç¥½Ã145 ¸®½ºÆ®ºäÀÇ View ¸ðµå146 TreeView¿Í PictureBox¸¦ ÀÌ¿ëÇÑ ¿ª»ç°øºÎ ÇÁ·Î±×·¥147 Timer ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÑ µðÁöÅÐ ½Ã°è148 TrackBar¿Í ProgressBar149 DateTimePicker¸¦ ÀÌ¿ëÇÑ ³¯Â¥ °è»ê±â150 TabControlÀ» »ç¿ëÇÑ µðÁöÅÐ ¾Ë¶÷½Ã°è151 WindowsMediaPlayer¸¦ ÀÌ¿ëÇÑ ¼Ò¸®³ª´Â ¾Ë¶÷½Ã°è152 WMP ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÑ µ¿¿µ»ó Ç÷¹À̾î153 OpenFileDialogÀ» ÀÌ¿ëÇؼ ¸Þ¸ðÀå¿¡¼ ÆÄÀÏ ¿±â154 ¸Þ´º¿Í ´ëÈ»óÀÚ(ÆùÆ®, Ä÷¯)155 GDI ¿Í ToolStrip, StatusStripÀ» »ç¿ëÇÑ ±×·¡ÇÈ ÇÁ·Î±×·¥156 WPF·Î Hello World ÇÁ·Î±×·¥ ¸¸µé±â157 WPFÀÇ ·¹À̾ƿô158 WPF BMI °è»ê±â159 WPF DispatcherTimer¿Í ±ô¹ÚÀÌ´Â ÇÁ·Î±×·¥PART 5 ½Ç¹« C# ÀÀ¿ë ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ160 WPF °£´ÜÇÑ °è»ê±â161 WinForm À©µµ¿ì Ç¥ÁØ °è»ê±â ¨ç162 WinForm À©µµ¿ì Ç¥ÁØ °è»ê±â ¨è163 WPF À©µµ¿ì Ç¥ÁØ °è»ê±âÀÇ µðÀÚÀÎ164 WPF µðÁöÅÐ ½Ã°è165 WinForm ¾Æ³¯·Î±× ½Ã°è166 WPF ¾Æ³¯·Î±× ½Ã°è167 RotateTransformÀ» ÀÌ¿ëÇÑ WPF ¾Æ³¯·Î±× ½Ã°è168 WPF ¸óÅ×Ä«¸¦·Î ½Ã¹Ä·¹À̼ÇÀ¸·Î ¿øÁÖÀ² ã±â169 WPF¿¡¼ WinForm ÄÁÆ®·Ñ »ç¿ë170 Chart ÄÁÆ®·Ñ »ç¿ë171 µÎ °³ÀÇ Â÷Æ® ¿µ¿ª, µÎ °³ÀÇ ½Ã¸®Áî »ç¿ë172 Chart ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÑ ¼öÇÐ ÇÔ¼ö ±×·¡ÇÁ ±×¸®±â173 ¸Þ¸ðÀå ÇÁ·Î±×·¥ ¨ç174 ¸Þ¸ðÀå ÇÁ·Î±×·¥ ¨è175 À̹ÌÁö ºä¾î176 WPF ¸ÅĪ °ÔÀÓ ¨ç - µðÀÚÀΰú ÃʱâÈ177 WPF ¸ÅĪ °ÔÀÓ ¨è - °ÔÀÓÀÇ ±¸Çö178 WPF Snake Bite °ÔÀÓ179 WPF ·Î±×ÀÎ ÇÁ·Î±×·¥ ¨ç - µðÀÚÀΰú DB180 WPF ·Î±×ÀÎ ÇÁ·Î±×·¥ ¨è - ÄÚµù181 Access µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö - ÀüȹøÈ£ºÎ ¨ç182 µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö - ÀüȹøÈ£ºÎ ¨è183 µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö - ÀüȹøÈ£ºÎ ¨é184 SQL Server µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö ¨ç - µðÀÚÀÎ185 SQL Server µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö ¨è - DB ÀÛ¼º186 SQL Server µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö ¨é - C#187 ¿À¸ñ ÇÁ·Î±×·¥ ¨ç - µðÀÚÀÎ188 ¿À¸ñ ÇÁ·Î±×·¥ ¨è - ¹ÙµÏÆÇ ±×¸®±â189 ¿À¸ñ ÇÁ·Î±×·¥ ¨é - ¹ÙµÏµ¹ ±×¸®±â190 ¿À¸ñ ÇÁ·Î±×·¥ ¨ê - ¹ÙµÏµ¹À» À̹ÌÁö·Î ±×¸®±â191 ¿À¸ñ ÇÁ·Î±×·¥ ¨ë - ÀڷᱸÁ¶192 ¿À¸ñ ÇÁ·Î±×·¥ ¨ì - ¿À¸ñ ÆÇÁ¤193 ¿À¸ñ ÇÁ·Î±×·¥ ¨í - ¼ö¼ø Ç¥½Ã194 ¿À¸ñ ÇÁ·Î±×·¥ ¨î - °ÔÀÓ Á¤º¸ÀÇ ÀúÀå195 ¿À¸ñ ÇÁ·Î±×·¥ ¨ï - º¹±â ±â´É196 ¿À¸ñ ÇÁ·Î±×·¥ ¨ð - Áߺ¹ Á¦°Å197 ¾ÆµÎÀÌ³ë ¼¾¼ ¸ð´ÏÅ͸µ ¨ç - ¾ÆµÎÀ̳ë¿Í µðÀÚÀÎ198 ¾ÆµÎÀÌ³ë ¼¾¼ ¸ð´ÏÅ͸µ ¨è - ¼¾¼µ¥ÀÌÅÍ Å¬·¡½º199 ¾ÆµÎÀÌ³ë ¼¾¼ ¸ð´ÏÅ͸µ ¨é - ½Ã¸®¾ó Åë½Å200 ¾ÆµÎÀÌ³ë ¼¾¼ ¸ð´ÏÅ͸µ ¨ê - µ¥ÀÌÅͺ£À̽º