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

½ÃÀÛÇϼ¼¿ä! C# 10 ÇÁ·Î±×·¡¹Ö
½ÃÀÛÇϼ¼¿ä! C# 10 ÇÁ·Î±×·¡¹Ö
  • ÀúÀÚ<Á¤¼ºÅÂ> Àú
  • ÃâÆÇ»çÀ§Å°ºÏ½º
  • ÃâÆÇÀÏ2023-01-30
  • µî·ÏÀÏ2023-08-08
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 5, ´©Àû¿¹¾à 1

Ã¥¼Ò°³

À̠åÀÇ ¸ñÇ¥´Â ¿©·¯ºÐÀÌ C#À» ÀÌ¿ëÇØ ÇÁ·Î±×·¡¹Ö ±âÃʸ¦ ÅºÅºÇϰԠ´ÙÁú ¼ö ÀÖ°Ô Çϴ °ÍÀÌ´Ù. À̸¦ À§ÇØ C# ¾ð¾îÀÇ ÃֽйöÀüÀΠC# 10ÀÇ ¹®¹ý±îÁö ±¸Ã¼ÀûÀΠ¿¹Á¦¿Í ÇÔ²² »ó¼¼È÷ ¼³¸íÇϸç, ´Ü¼øÈ÷ ¾ð¾îÀÇ ¹®¹ýÀ» ½ÀµæÇϴ µ¥ ±×Ä¡Áö ¾Ê°í ½ÇÁ¦·Î ÇÁ·Î±×·¥À» Á¦ÀÛÇÒ ¼ö Àִ ´Ü°è±îÁö ÇнÀÇÒ ¼ö ÀÖ°Ô ±¸¼ºÇß´Ù. À̹ø °³Á¤ÆÇ¿¡¼­´Â C# 10¿¡¼­ °³¼±µÈ ´Ù¾çÇÑ ¾ð¾îÀû Æ¯¼ºÀ» ´Ù·é´Ù. (·¹ÄÚµå/±¸Á¶Ã¼/³×ÀÓ½ºÆäÀ̽º °³¼±, º¸°£µÈ »ó¼ö ¹®ÀÚ¿­, È®Àå ¼Ó¼º ÆÐÅÏ, ¶÷´Ù ±â´É Çâ»ó, È£ÃâÀÚ Àμö ½Ä)

ÀúÀÚ¼Ò°³

C/C++ °æ·ÂÀ» ½ÃÀÛÀ¸·Î ¢ß´å³Ý¿¢½ºÆÛÆ®¿¡¼­ 7³â ³Ñ°Ô ´Ù¾çÇÑ ºÐ¾ßÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ßÀ» ÇÑ ÈÄ ÇöÀç´Â ¢ßÁ¦´ÏÆÛ¼ÒÇÁÆ®¿¡¼­ ¼º´É °ü¸® ¼Ö·ç¼ÇÀÇ ´å³Ý ¹öÀü °³¹ßÀ» ´ã´çÇϰí ÀÖ´Ù. °³ÀÎÀûÀ¸·Î´Â ºí·Î±×(http://www.sysnet.pe.kr)¸¦ ÅëÇØ °³¹ß °ü·Ã Áö½ÄÀ» °øÀ¯Çϰí ÀÖÀ¸¸ç, 2004³âºÎÅÍ C/C++, C# ºÐ¾ß¿¡¼­ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ MVP·Î È°µ¿Çϰí ÀÖ´Ù.

¸ñÂ÷

[1ºÎ] C#

¢Ã 01Àå: µé¾î°¡¸é¼­

1.1  ´å³Ý ÇÁ·¹ÀÓ¿öÅ©  
__1.1.1  ´å³Ý È£È¯ ¾ð¾î  
__1.1.2  °øÅë Áß°£ ¾ð¾î  
__1.1.3  °ø¿ë Å¸ÀÔ ½Ã½ºÅÛ  
__1.1.4  °ø¿ë ¾ð¾î »ç¾ç  
__1.1.5  ¸ÞŸµ¥ÀÌÅÍ  
__1.1.6  ¾î¼Àºí¸®, ¸ðµâ, ¸Å´ÏÆä½ºÆ®  
__1.1.7  °ø¿ë ¾ð¾î ±â¹Ý±¸Á¶  
__1.1.8  °ø¿ë ¾ð¾î ·±Å¸ÀÓ  
__1.1.9  ´å³Ý ÇÁ·¹ÀÓ¿öÅ©  
__1.1.10  C#°ú ´å³Ý ÇÁ·¹ÀÓ¿öÅ©ÀÇ °ü°è  
1.2  ´å³Ý ÄÚ¾î¿Í ´å³Ý Ç¥ÁØ  
1.3  ´å³Ý 5(.NET 5), ´å³Ý 6  

¢Ã 02Àå: °³¹ß È¯°æ Áغñ
2.1  ±âº» ¿¹Á¦  
2.2  ÆíÁý±â + ¸í·ÉÇà ÄÄÆÄÀÏ·¯ »ç¿ë  
__2.2.1  ´å³Ý ÇÁ·¹ÀÓ¿öÅ© ¸í·ÉÇà  
__2.2.2  ´å³Ý 6 ¸í·ÉÇà  
2.3  ºñÁ־󠽺Ʃµð¿À °³¹ß È¯°æ  
2.4  µÎ °¡Áö À¯ÇüÀÇ ¿¹Á¦ ÄÚµå
2.5  À©µµ¿ì ¿î¿µÃ¼Á¦ ÀÌ¿ÜÀÇ °³¹ß È¯°æ  
2.6  ´å³Ý ¿ªÄÄÆÄÀÏ·¯  

¢Ã 03Àå: C# ±âÃÊ
3.1  ±âº» ÀÚ·áÇü  
__3.1.1  Á¤¼öÇü ±âº» Å¸ÀÔ  
__3.1.2  ½Ç¼öÇü ±âº» Å¸ÀÔ  
__3.1.3  ¹®ÀÚÇü ±âº» Å¸ÀÔ  
__3.1.4  ºÒ¸°(boolean)Çü ±âº» Å¸ÀÔ  
__3.1.5  ¸¶Ä¡¸ç  
3.2  Çüº¯È¯  
__3.2.1  ¾Ï½ÃÀû º¯È¯  
__3.2.2  ¸í½ÃÀû º¯È¯  
3.3  ±âº» ¹®¹ý ¿ä¼Ò  
__3.3.1  ¿¹¾à¾î, Å°¿öµå  
__3.3.2  ½Äº°ÀÚ  
__3.3.3  ¸®ÅÍ·²  
__3.3.4  º¯¼ö  
____3.3.4.1  µÎ °¡Áö ÀúÀå¼Ò: ½ºÅðú Èü  
____3.3.4.2  °ª Çü½ÄÀ» °¡¸®Å°´Â º¯¼ö  
____3.3.4.3  ÂüÁ¶ Çü½ÄÀ» °¡¸®Å°´Â º¯¼ö  
____3.3.4.4  ±âº»°ª  
__3.3.5  »ó¼ö  
__3.3.6  ¿¬»êÀÚ, ¹®Àå ºÎÈ£  
3.4  ¹è¿­  
__3.4.1  ´ÙÂ÷¿ø ¹è¿­  
__3.4.2  °¡º¯ ¹è¿­  
3.5  Á¦¾î¹®  
__3.5.1  ¼±Åù®  
____3.5.1.1  °ü°è ¿¬»êÀÚ, ³í¸® ¿¬»êÀÚ  
____3.5.1.2  if ¹®  
____3.5.1.3  switch ¹®  
__3.5.2  ¹Ýº¹¹®  
____3.5.2.1 Áõ°¨ ¿¬»êÀÚ, º¹ÇÕ ´ëÀÔ ¿¬»êÀÚ  
____3.5.2.2 for ¹®  
____3.5.2.3 Áßø ·çÇÁ  
____3.5.2.4 foreach ¹®  
____3.5.2.5 while ¹®  
__3.5.3  Á¡ÇÁ¹®  
____3.5.3.1  break ¹®  
____3.5.3.2  continue ¹®  
____3.5.3.3  goto ¹®  

¢Ã 04Àå: C# °´Ã¼ÁöÇâ ¹®¹ý
4.1  Å¬·¡½º  
__4.1.1  Çʵ堠
__4.1.2  ¸Þ¼­µå  
____4.1.2.1  Áߺ¹ ÄÚµå Á¦°Å  
____4.1.2.2  ÄÚµå Ãß»óÈ­  
__4.1.3  »ý¼ºÀÚ  
__4.1.4  Á¾·áÀÚ  
__4.1.5  Á¤Àû ¸â¹ö, ÀνºÅϽº ¸â¹ö  
____4.1.5.1  Á¤Àû Çʵ堠
____4.1.5.2  Á¤Àû ¸Þ¼­µå  
____4.1.5.3  Á¤Àû »ý¼ºÀÚ  
__4.1.6  ³×ÀÓ½ºÆäÀ̽º  
4.2  Ä¸½¶È­  
__4.2.1  Á¢±Ù Á¦ÇÑÀÚ  
__4.2.2  Á¤º¸ Àº´Ð  
__4.2.3  ÇÁ·ÎÆÛƼ  
4.3  »ó¼Ó  
__4.3.1  Çüº¯È¯  
____4.3.1.1  as, is ¿¬»êÀÚ  
__4.3.2  ¸ðµç Å¸ÀÔÀÇ Á¶»ó: System.Object?  
____4.3.2.1  ToString  
____4.3.2.2  GetType  
____4.3.2.3  Equals  
____4.3.2.4  GetHashCode  
__4.3.3  ¸ðµç ¹è¿­ÀÇ Á¶»ó: System.Array  
__4.3.4  this  
____4.3.4.1  this¿Í ÀνºÅϽº/Á¤Àû ¸â¹öÀÇ °ü°è  
__4.3.5  base  
4.4  ´ÙÇü¼º  
__4.4.1  ¸Þ¼­µå ¿À¹ö¶óÀ̵堠
____4.4.1.1  base¸¦ ÀÌ¿ëÇÑ ¸Þ¼­µå Àç»ç¿ë  
____4.4.1.2  object ±âº» ¸Þ¼­µå È®Àå  
__4.4.2  ¿À¹ö·Îµå  
____4.4.2.1  ¸Þ¼­µå ¿À¹ö·Îµå  
____4.4.2.2  ¿¬»êÀÚ ¿À¹ö·Îµå  
____4.4.2.3  Å¬·¡½º °£ÀÇ Çüº¯È¯  
4.5  C#ÀǠŬ·¡½º È®Àå  
__4.5.1  Å¸ÀÔ À¯Çü È®Àå  
____4.5.1.1  Áßø Å¬·¡½º  
____4.5.1.2  Ãß»ó Å¬·¡½º  
____4.5.1.3  µ¨¸®°ÔÀÌÆ®  
____4.5.1.4  ÀÎÅÍÆäÀ̽º  
____4.5.1.5  ±¸Á¶Ã¼  
____4.5.1.6  ¿­°ÅÇü  
__4.5.2  ¸â¹ö À¯Çü È®Àå  
____4.5.2.1  Àбâ Àü¿ë Çʵ堠
____4.5.2.2  »ó¼ö  
____4.5.2.3  À̺¥Æ®  
____4.5.2.4  Àε¦¼­  

¢Ã 05Àå: C# 1.0 ¿Ï¼ºÇϱâ
5.1  ¹®¹ý ¿ä¼Ò  
__5.1.1  ±¸¹®  
____5.1.1.1  Àü󸮱â Áö½Ã¹®  
____5.1.1.2  Áö¿ª º¯¼öÀÇ À¯È¿ ¹üÀ§  
____5.1.1.3  ¸®ÅÍ·²¿¡µµ Àû¿ëµÇ´Â Å¸ÀÔ  
____5.1.1.4  Æ¯¼º  
__5.1.2  ¿¬»êÀÚ  
____5.1.2.1  ½ÃÇÁÆ® ¿¬»êÀÚ  
____5.1.2.2  ºñÆ® ³í¸® ¿¬»êÀÚ  
____5.1.2.3  ¿¬»êÀÚ ¿ì¼±¼øÀ§  
__5.1.3  ¿¹¾à¾î  
____5.1.3.1  ¿¬»ê ¹üÀ§ È®ÀÎ: checked, unchecked  
____5.1.3.2  °¡º¯ ¸Å°³º¯¼ö: params  
____5.1.3.3  Win32 API È£Ãâ: extern  
____5.1.3.4  ¾ÈÀüÇÏÁö ¾ÊÀº ÄÁÅØ½ºÆ®: unsafe  
____5.1.3.5  ÂüÁ¶ Çü½ÄÀÇ ¸â¹ö¿¡ ´ëÇÑ Æ÷ÀÎÅÍ: fixed  
____5.1.3.6  °íÁ¤ Å©±â ¹öÆÛ: fixed  
____5.1.3.7  ½ºÅÃÀ» ÀÌ¿ëÇÑ °ª Çü½Ä ¹è¿­: stackalloc  
5.2  ÇÁ·ÎÁ§Æ® ±¸¼º  
__5.2.1  ´ÙÁß ¼Ò½ºÄÚµå ÆÄÀÏ  
__5.2.2  ¶óÀ̺귯¸®  
____5.2.2.1  csc.exe·Î ¶óÀ̺귯¸® »ý¼º ¹× »ç¿ë  
____5.2.2.2  ºñÁ־󠽺Ʃµð¿À¿¡¼­ ¶óÀ̺귯¸® »ý¼º ¹× »ç¿ë  
__5.2.3  ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ÆÄÀÏ: app.config  
____5.2.3.1  supportedRuntime  
____5.2.3.2  appSettings  
__5.2.4  µð¹ö±× ºôµå¿Í ¸±¸®½º ºôµå  
____5.2.4.1  DEBUG, TRACE Àü󸮠»ó¼ö  
____5.2.4.2  Debug Å¸ÀÔ°ú Trace Å¸ÀÔ  
__5.2.5  Ç÷§Æû(x86, x64, AnyCPU) ¼±Åà 
__5.2.6  ¹öÀü °ü¸®  
____5.2.6.1  ¾î¼Àºí¸®ÀÇ ¹öÀü°ú À̸§  
____5.2.6.2  °ø°³Å° ÅäÅ«°ú ¾î¼Àºí¸® ¼­¸í  
____5.2.6.3  Àü¿ë ¾î¼Àºí¸®, Àü¿ª ¾î¼Àºí¸®  
5.3  ¿¹¿Ü  
__5.3.1  ¿¹¿Ü Å¸ÀÔ  
__5.3.2  ¿¹¿Ü Ã³¸®±â  
__5.3.3  È£Ãâ ½ºÅà 
__5.3.4  ¿¹¿Ü ¹ß»ý  
__5.3.5  »ç¿ëÀÚ Á¤ÀÇ ¿¹¿Ü Å¸ÀÔ  
__5.3.6  ¿Ã¹Ù¸¥ ¿¹¿Ü Ã³¸®  
5.4  Èü°ú ½ºÅà 
__5.4.1  ½ºÅà 
____5.4.1.1  ½ºÅà¿À¹öÇ÷Π 
____5.4.1.2  Àç±Í È£Ãâ  
__5.4.2  Èü  
____5.4.2.1  ¹Ú½Ì/¾ð¹Ú½Ì  
____5.4.2.2  °¡ºñÁö ¼öÁý±â  
____5.4.2.3  Àüü °¡ºñÁö ¼öÁý  
____5.4.2.4  ´ë¿ë·® °´Ã¼ Èü  
____5.4.2.5  ÀÚ¿ø ÇØÁ¦  
____5.4.2.6  Á¾·áÀÚ  

¢Ã 06Àå: BCL(Base Class Library)
6.1  ½Ã°£  
__6.1.1  System.DateTime  
__6.1.2  System.TimeSpan  
__6.1.3  System.Diagnostics.Stopwatch  
6.2  ¹®ÀÚ¿­ Ã³¸®  
__6.2.1  System.String  
__6.2.2  System.Text.StringBuilder  
__6.2.3  System.Text.Encoding  
__6.2.4  System.Text.RegularExpressions.Regex  
6.3  Á÷·ÄÈ­/¿ªÁ÷·ÄÈ­  
__6.3.1  System.BitConverter  
__6.3.2  System.IO.MemoryStream  
__6.3.3  System.IO.StreamWriter / System.IO.StreamReader  
__6.3.4  System.IO.BinaryWriter / System.IO.BinaryReader  
__6.3.5  System.Runtime.Serialization.Formatters.Binary.BinaryFormatter  
__6.3.6  System.Xml.Serialization.XmlSerializer  
__6.3.7  System.Runtime.Serialization.Json.DataContractJsonSerializer  
6.4  Ä÷º¼Ç  
__6.4.1  System.Collections.ArrayList  
__6.4.2  System.Collections.Hashtable  
__6.4.3  System.Collections.SortedList  
__6.4.4  System.Collections.Stack  
__6.4.5  System.Collections.Queue  
6.5  ÆÄÀÏ  
__6.5.1  System.IO.FileStream  
__6.5.2  System.IO.File / System.IO.FileInfo  
__6.5.3  System.IO.Directory / System.IO.DirectoryInfo  
__6.5.4  System.IO.Path  
6.6  ½º·¹µù  
__6.6.1  System.Threading.Thread  
__6.6.2  System.Threading.Monitor  
__6.6.3  System.Threading.Interlocked  
__6.6.4  System.Threading.ThreadPool  
__6.6.5  System.Threading.EventWaitHandle  
__6.6.6  ºñµ¿±â È£Ãâ  
__6.6.7  System.DelegateÀÇ ºñµ¿±â È£Ãâ  
6.7  ³×Æ®¿öÅ© Åë½Å  
__6.7.1  System.Net.IPAddress  
__6.7.2  Æ÷Æ®  
__6.7.3  System.Net.IPEndPoint  
__6.7.4  System.Net.Dns  
__6.7.5  System.Net.Sockets.Socket  
____6.7.5.1  UDP ¼ÒÄÏ  
____6.7.5.2  TCP ¼ÒÄÏ  
____6.7.5.3  TCP ¼­¹ö °³¼± - ´ÙÁß ½º·¹µå¿Í ºñµ¿±â Åë½Å  
____6.7.5.4  HTTP Åë½Å  
__6.7.6  System.Net.HttpWebRequest  
__6.7.7  System.Net.WebClient  
6.8  µ¥ÀÌÅͺ£À̽º  
__6.8.1  ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® SQL ¼­¹ö  
____6.8.1.1  ½Ç½À¿ë µ¥ÀÌÅͺ£À̽º Áغñ  
____6.8.1.2  SQL Äõ¸®  
__6.8.2  ADO.NET µ¥ÀÌÅÍ Á¦°øÀÚ  
____6.8.2.1  System.Data.SqlClient.SqlConnection  
____6.8.2.2  System.Data.SqlClient.SqlCommand  
____6.8.2.3  System.Data.SqlClient.SqlDataReader  
____6.8.2.4  System.Data.SqlClient.SqlParameter  
____6.8.2.5  System.Data.SqlClient.SqlDataAdapter  
__6.8.3  µ¥ÀÌÅÍ ÄÁÅ×À̳ʠ 
____6.8.3.1  ÀϹݠ´å³Ý Å¬·¡½º  
____6.8.3.2  System.Data.DataSet  
____6.8.3.3  Typed DataSet  
__6.8.4  µ¥ÀÌÅͺ£À̽º Æ®·£Àè¼Ç  
6.9  ¸®Ç÷º¼Ç  
__6.9.1  AppDomain°ú Assembly  
__6.9.2  Type°ú ¸®Ç÷º¼Ç  
__6.9.3  ¸®Ç÷º¼ÇÀ» ÀÌ¿ëÇÑ È®Àå ¸ðµâ ±¸Çö  
6.10 ±âŸ  
__6.10.1  À©µµ¿ì ·¹Áö½ºÆ®¸®  
__6.10.2  BigInteger  
__6.10.3  IntPtr  

[2ºÎ] C# °í±Þ ¹®¹ý

¢Ã 07Àå: C# 2.0

7.1  Á¦³×¸¯  
__7.1.1  Çü½Ä ¸Å°³º¯¼ö¿¡ ´ëÇÑ Á¦¾à Á¶°Ç  
__7.1.2  BCL¿¡ Àû¿ëµÈ Á¦³×¸¯  
7.2  ?? ¿¬»êÀÚ(null º´ÇÕ ¿¬»êÀÚ)  
7.3  default ¿¹¾à¾î  
7.4  yield return/break  
7.5  ºÎºÐ(partial) Å¬·¡½º  
7.6  nullable Çü½Ä  
7.7  ÀÍ¸í ¸Þ¼­µå  
7.8  Á¤Àû Å¬·¡½º  

¢Ã 08Àå: C# 3.0
8.1  var ¿¹¾à¾î  
8.2  ÀÚµ¿ ±¸Çö ¼Ó¼º  
8.3  °´Ã¼ ÃʱâÈ­  
8.4  Ä÷º¼Ç ÃʱâÈ­  
8.5  À͸í Å¸ÀÔ  
8.6  ºÎºÐ ¸Þ¼­µå  
8.7  È®Àå ¸Þ¼­µå  
8.8  ¶÷´Ù ½Ä  
__8.8.1  ÄÚµå·Î¼­ÀÇ ¶÷´Ù ½Ä  
____8.8.1.1  ¶÷´Ù ¸Þ¼­µå¸¦ À§ÇÑ Àü¿ë µ¨¸®°ÔÀÌÆ®  
____8.8.1.2  Ä÷º¼Ç°ú ¶÷´Ù ¸Þ¼­µå  
__8.8.2  µ¥ÀÌÅͷμ­ÀÇ ¶÷´Ù ½Ä  
8.9  LINQ  
__8.9.1  where, orderby, group by, join  
__8.9.2  Ç¥ÁØ Äõ¸® ¿¬»êÀÚ  
__8.9.3  ÀϰüµÈ µ¥ÀÌÅÍ Á¶È¸  

¢Ã 09Àå: C# 4.0
9.1  ¼±ÅÃÀû ¸Å°³º¯¼ö¿Í ¸í¸íµÈ Àμö  
9.2  dynamic ¿¹¾à¾î  
__9.2.1  ¸®Ç÷º¼Ç °³¼±  
__9.2.2  ´ö Å¸ÀÌÇΠ 
__9.2.3  µ¿Àû ¾ð¾î¿ÍÀǠŸÀÔ ¿¬µ¿  

¢Ã 10Àå: C# 5.0
10.1  È£ÃâÀÚ Á¤º¸  
10.2  ºñµ¿±â È£Ãâ  
__10.2.1  ´å³Ý 4.5 BCL¿¡ Ãß°¡µÈ Async ¸Þ¼­µå  
__10.2.2  Task, Task¡´TResult¡µ Å¸ÀÔ  
__10.2.3  async ¿¹¾à¾î°¡ Àû¿ëµÈ ¸Þ¼­µåÀÇ ¹Ýȯ Å¸ÀÔ  
__10.2.4  Async ¸Þ¼­µå°¡ ¾Æ´Ñ °æ¿ìÀÇ ºñµ¿±â Ã³¸®  
__10.2.5  ºñµ¿±â È£ÃâÀÇ º´·Ä Ã³¸®  

¢Ã 11Àå: C# 6.0
11.1  ÀÚµ¿ ±¸Çö ¼Ó¼ºÀÇ ÃʱâÈ­ ±¸¹® Ãß°¡  
11.2  Ç¥Çö½ÄÀ» ÀÌ¿ëÇÑ ¸Þ¼­µå, ¼Ó¼º ¹× Àε¦¼­ Á¤ÀÇ  
11.3  using static ±¸¹®À» ÀÌ¿ëÇѠŸÀÔ¸í »ý·«  
11.4  null Á¶°Ç ¿¬»êÀÚ  
11.5  ¹®ÀÚ¿­ ³»¿¡ ½Ä(expression)À» Æ÷ÇÔ  
11.6  nameof ¿¬»êÀÚ  
11.7  Dictionary Å¸ÀÔÀÇ À妽º ÃʱâÈ­  
11.8  ¿¹¿Ü ÇÊÅÍ  
11.9  Ä÷º¼Ç ÃʱâÈ­ ±¸¹®¿¡ È®Àå ¸Þ¼­µå·Î Á¤ÀÇÇÑ Add Áö¿ø  
11.10  ±âŸ °³¼± »çÇ×

¢Ã 12Àå: C# 7.0
12.1  ´õ¿í Æí¸®ÇØÁø out ¸Å°³º¯¼ö »ç¿ë  
12.2  ¹Ýȯ°ª ¹× ·ÎÄຯ¼ö¿¡ ref ±â´É Ãß°¡(ref returns and locals)  
12.3  Æ©Çà 
12.4  Deconstruct ¸Þ¼­µå  
12.5  ¶÷´Ù ½ÄÀ» ÀÌ¿ëÇÑ ¸Þ¼­µå Á¤ÀÇ È®´ë(Expression-bodied members)  
12.6  ·ÎÄàÇÔ¼ö(Local functions)  
12.7  »ç¿ëÀÚ Á¤ÀÇ Task Å¸ÀÔÀ» async ¸Þ¼­µåÀÇ ¹Ýȯ Å¸ÀÔÀ¸·Î »ç¿ë °¡´É  
12.8  ÀÚÀ¯·Î¿öÁø throw »ç¿ë  
12.9  ¸®ÅÍ·²¿¡ ´ëÇѠǥÇö ¹æ¹ý °³¼±  
12.10  ÆÐÅÏ ¸ÅĪ  
__12.10.1  is ¿¬»êÀÚÀÇ ÆÐÅÏ ¸ÅĪ  
__12.10.2  switch/case ¹®ÀÇ ÆÐÅÏ ¸ÅĪ 

¢Ã 13Àå: C# 7.1
13.1  Main ¸Þ¼­µå¿¡ async ¿¹¾à¾î Çã¿ë  
13.2  default ¸®ÅÍ·² Ãß°¡  
13.3  Å¸ÀÔ Ãß·ÐÀ» ÅëÇÑ Æ©ÇÃÀÇ º¯¼ö¸í ÀÚµ¿ ÁöÁ¤  
13.4  ±âŸ °³¼± »çÇ× 

¢Ã 14Àå: C# 7.2
14.1  ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¿¡ in º¯°æÀÚ Ãß°¡  
14.2  Àбâ Àü¿ë(readonly) ±¸Á¶Ã¼  
14.3  ¸Þ¼­µåÀÇ ¹Ýȯ °ª ¹× ·ÎÄຯ¼ö¿¡ ref readonly Ãß°¡  
14.4  ½ºÅÿ¡¸¸ »ý¼ºÇÒ ¼ö Àִ °ª Å¸ÀÔ Áö¿ø - ref struct  
14.5  ½Å±Ô Ãß°¡ Å¸ÀÔ: Span¡´T¡µ  
14.6  3Ç× ¿¬»êÀÚ¿¡ ref Áö¿ø  
14.7  private protected Á¢±ÙÀÚ Ãß°¡  
14.8  ¼ýÀÚ ¸®ÅÍ·²ÀÇ ¼±Çà ¹ØÁÙ  
14.9  µÚ¿¡ ¿ÀÁö ¾Ê´Â ¸í¸íµÈ Àμö 

¢Ã 15Àå: C# 7.3
15.1  ½Å±Ô Á¦³×¸¯ Á¦¾à Á¶°Ç - Delegate, Enum, unmanaged  
15.2  »ç¿ëÀÚ Á¤ÀǠŸÀÔ¿¡ fixed Àû¿ë °¡´É  
15.3  Èü¿¡ ÇÒ´çµÈ °íÁ¤ Å©±â ¹è¿­ÀÇ Àε¦½Ì °³¼±  
15.4  ÃʱâÈ­ ½Ä¿¡¼­ º¯¼ö »ç¿ë °¡´É  
15.5  ÀÚµ¿ ±¸Çö ¼Ó¼ºÀǠƯ¼º Áö¿ø  
15.6  Æ©ÇÃÀÇ ==, != ¿¬»êÀÚ Áö¿ø  
15.7  ref Áö¿ª º¯¼öÀÇ ÀçÇÒ´ç °¡´É  
15.8  stackalloc ¹è¿­ÀÇ ÃʱâÈ­ ±¸¹® Áö¿ø  

¢Ã 16Àå: C# 8.0
16.1 #nullable Áö½ÃÀÚ¿Í nullable ÂüÁ¶ Çü½Ä  
__16.1.1  nullÀÏ ¼ö ¾øÀ½À» º¸Àå  
__16.1.2  nullÀÏ ¼ö ÀÖ´Ù¸é ÇØ´ç ÀνºÅϽº¸¦ null °¡´ÉÇѠŸÀÔÀ̶ó°í ¸í½Ã  
__16.1.3  ³Î °¡´É(Nullable) ¹®¸Æ Á¦¾î  
16.2  ºñµ¿±â ½ºÆ®¸²  
16.3  »õ·Î¿î ¿¬»êÀÚ - À妽º, ¹üÀ§  
16.4  °£°áÇØÁø using ¼±¾ð  
16.5  Dispose È£ÃâÀÌ °¡´ÉÇÑ ref struct  
16.6  Á¤Àû ·ÎÄàÇÔ¼ö  
16.7  ÆÐÅÏ ¸ÅĪ °³¼±  
__16.7.1  switch ½Ä  
__16.7.2  ¼Ó¼º ÆÐÅÏ  
__16.7.3  Æ©ÇàÆÐÅÏ  
__16.7.4  À§Ä¡ ÆÐÅÏ  
__16.7.5  Àç±Í ÆÐÅÏ  
16.8  ±âº» ÀÎÅÍÆäÀ̽º ¸Þ¼­µå  
16.9  ??= (³Î º´ÇÕ ÇÒ´ç ¿¬»êÀÚ)  
16.10  ¹®ÀÚ¿­ @, $ Á¢µÎ»ç È¥ÇÕ Áö¿ø  
16.11  ±âº» ½Ä(primary expression)À¸·Î ¹Ù²ï stackalloc  
16.12  Á¦³×¸¯ ±¸Á¶Ã¼ÀÇ unmanaged Áö¿ø  
16.13  ±¸Á¶Ã¼ÀÇ Àбâ Àü¿ë ¸Þ¼­µå  

¢Ã 17Àå: C# 9.0
17.1  ·¹ÄÚµå(Records) 
__17.1.1  init ¼³Á¤ÀÚ Ãß°¡
__17.1.2  with ÃʱâÈ­ ±¸¹® Ãß°¡
17.2  ´ë»óÀ¸·Î Çü½ÄÈ­µÈ new ½Ä(Target-typed new expressions) 
17.3  ´Þ¶óÁø Á¶°Ç½Ä Æò°¡
17.4  ·ÎÄàÇÔ¼ö¿¡ Æ¯¼º ÁöÁ¤ °¡´É(Attributes on local functions) 
17.5  À͸í ÇÔ¼ö °³¼±
__17.5.1 Á¤Àû À͸í ÇÔ¼ö(static anonymous functions) 
__17.5.2 À͸í ÇÔ¼öÀÇ ¸Å°³º¯¼ö ¹«½Ã 
17.6  ÃÖ»óÀ§ ¹®(Top-level statements) 
17.7  ÆÐÅÏ ÀÏÄ¡ °³¼± »çÇ×(Pattern matching enhancements)
17.8  ¸ðµâ À̴ϼȶóÀÌÀú(Module initializers) 
17.9  °øº¯ ¹Ýȯ Çü½Ä(Covariant return types) 
17.10  foreach ·çÇÁ¿¡ ´ëÇÑ GetEnumerator È®Àå ¸Þ¼­µå Áö¿ø(Extension GetEnumerator) 
17.11  ºÎºÐ ¸Þ¼­µå¿¡ ´ëÇÑ »õ·Î¿î ±â´É(New features for partial methods)
17.12  localsinit Ç÷¡±× ³»º¸³»±â ¹«½Ã(Suppress emitting localsinit flag) 
17.13  ¿ø½Ã Å©±â Á¤¼ö(Native ints) 
17.14  ÇÔ¼ö Æ÷ÀÎÅÍ(Function pointers) 
__17.14.1  ºñ°ü¸® ÇÔ¼ö Æ÷ÀÎÅÍ Áö¿ø
__17.14.2  ºñ°ü¸® ÇÔ¼ö¸¦ ÅëÇÑ Äݹé Áö¿ø 
17.15  Á¦¾à Á¶°ÇÀÌ ¾ø´Â Çü½Ä ¸Å°³º¯¼ö ÁÖ¼®(Unconstrained type parameter annotations)

¢Ã 18Àå: C# 10
18.1  ·¹Äڵ堰³¼± 
__18.1.1  ·¹Äڵ報¸Á¶Ã¼(Record structs) 
__18.1.1  class Å¸ÀÔÀÇ record¿¡ ToString ¸Þ¼­µåÀÇ sealed Áö¿ø 
18.2 ±¸Á¶Ã¼ °³¼± 
__18.2.1  ¸Å°³º¯¼ö°¡ ¾ø´Â ±¸Á¶Ã¼ »ý¼ºÀÚ(Parameterless struct constructors) 
__18.2.2  Çʵå ÃʱâÈ­ Áö¿ø 
18.3  ³×ÀÓ½ºÆäÀ̽º °³¼± 
__18.3.1  Àü¿ª using Áö½Ã¹®(Global Using Directive) 
__18.3.2  ÆÄÀÏ ¹üÀ§ ³×ÀÓ½ºÆäÀ̽º(File Scoped Namespaces) 
18.4  º¸°£µÈ »ó¼ö ¹®ÀÚ¿­(Constant Interpolated Strings) 
18.5  È®Àå ¼Ó¼º ÆÐÅÏ(Extended property patterns) 
18.6  ¶÷´Ù ±â´É Çâ»ó(Lambda improvements) 
__18.6.1  Æ¯¼º Çã¿ë 
__18.6.2  ¹Ýȯ Å¸ÀÔ ÁöÁ¤ 
__18.6.3  ¶÷´Ù ½ÄÀÇ var Ã߷Р
18.7  È£ÃâÀÚ Àμö ½Ä(CallerArgumentExpression) 
18.8  ±âŸ °³¼± »çÇ× 
__18.8.1  ÇÑÁ¤µÈ ÇҴ砺м® °³¼±(Improved Definite Assignment Analysis) 
__18.8.2  º¸°£µÈ ¹®ÀÚ¿­ °³¼±(Improved Interpolated Strings) 
__18.8.3  ºÐÇØ ±¸¹®¿¡¼­ ±âÁ¸ º¯¼öÀÇ Àç»ç¿ë °¡´É(Mix Declarations and Variables
in Deconstruction) 
__18.8.4  AsyncMethodBuilder ÀçÁ¤ÀÇ 
__18.8.5  Source Generator V2 API 
__18.8.6  Çâ»óµÈ #line Áö½Ã¹®(Enhanced #line directives) 
±×¸®°í C# 11

[3ºÎ] ´å³Ý ÀÀ¿ë ÇÁ·Î±×·¥
http://www.sysnet.pe.kr/2/0/12021 ¹× ÃâÆÇ»çÀÇ °ø½Ä È¨ÆäÀÌÁö¸¦ ÅëÇØ ³»¿ëÀÌ ¸ðµÎ °ø°³µÅ ÀÖÀ¸´Ï Âü°íÇÏÀÚ.

¢Ã ºÎ·Ï
http://www.sysnet.pe.kr/2/0/13101 ¹× ÃâÆÇ»çÀÇ °ø½Ä È¨ÆäÀÌÁö¸¦ ÅëÇØ ³»¿ëÀÌ ¸ðµÎ °ø°³µÅ ÀÖÀ¸´Ï Âü°íÇÏÀÚ.