»ó¼¼Á¤º¸
Ã¥¼Ò°³
C# Áöħ¼. ÀÌ Ã¥Àº C#°ú .NET ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ´Â °³¹ßÀÚµéÀ» À§ÇÑ °³¹ß Áöħ¼·Î ÀúÀÚÀÇ °æÇè°ú °³¹ßÀÚµé·ÎºÎÅÍ ¹Þ¾Ò´ø Áú¹®µéÀ» 50°³ÀÇ Ç׸ñÀ¸·Î Á¤¸®ÇÏ¿© ¼Ò°³ÇÑ´Ù.
ÀÌ Ã¥Àº C# ¾ð¾î¿ä¼Ò¿Í ´å³Ý ¸®¼Ò½º °ü¸®, C# ¼³°è»çÇ× ±¸Çö°ú ÀÌÁø ÄÄÆ÷³ÍÆ® ÀÛ¼º¹ý, ÇÁ·¹ÀÓ¿öÅ©ÀÇ »ç¿ë¹ý µîÀÇ ³»¿ëÀ¸·Î ³ª´² ¼³¸íÇÑ´Ù.
ÀúÀÚ¼Ò°³
ÁöÀºÀÌ
ºô ¿Í±×³Ê
SRT-SolutionÀÇ °øµ¿ â¾÷ÀÚÀ̸ç ÄÁ¼³ÅÏÆ®ÀÌ´Ù. ¸ðµç »ç¶÷ÀÌ ÀÎÁ¤ÇÏ´Â ´å³Ý Àü¹®°¡·Î¼ , , µîÀÇ ½Å¹®¿¡ Á¤±âÀûÀ¸·Î ±ÛÀ» ±â°íÇÏ°í ÀÖ´Ù. ¶ÇÇÑ Microsoft Regional Director·Î¼ Southeast Michigan ´å³Ý »ç¿ëÀÚ ±×·ì°ú Ann Arbor Computing Society¿¡¼ È°¹ßÇÏ°Ô È°µ¿ÇÏ°í ÀÖ´Ù.
¿Å±äÀÌ
±è¸í½Å
STI¿Í NHNÀ» °ÅÃÄ ÇöÀç Çѱ¹¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ ±â¼úÁö¿ø ¾÷¹«¸¦ ¼öÇàÇÏ°í ÀÖ´Ù. ´Ù³â°£ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® C++¿Í C# ºÐ¾ßÀÇ MVP·Î È°µ¿ÇÏ°í ÀÖÀ¸¸ç ÃÖ±Ù¿¡´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® °ø½Ä °³¹ßÀÚ Ä¿¹Â´ÏƼÀÎ MyMSDN »çÀÌÆ®¿¡¼ ´å³Ý ÇÁ·¹ÀÓ¿öÅ© ºÎ¹®À» ´ã´çÇÏ°í Àֱ⵵ ÇÏ´Ù.
¸ñÂ÷
1Àå. C# ¾ð¾î ¿ä¼Ò
ITEM #1: µ¥ÀÌÅÍ ¸â¹ö ´ë½Å¿¡ Ç×»ó ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇ϶ó
ITEM #2: constº¸´Ù´Â readonly°¡ ÁÁ´Ù
ITEM #3: castº¸´Ù´Â is³ª as°¡ ÁÁ´Ù
ITEM #4: #if´ë½Å Conditional Attribute¸¦ »ç¿ëÇ϶ó
ITEM #5: Ç×»ó ToString( )À» ÀÛ¼ºÇ϶ó
ITEM #6: value ŸÀÔ°ú reference ŸÀÔÀ» ±¸ºÐÇ϶ó
ITEM #7: immutable atomic value ŸÀÔÀÌ ´õ ÁÁ´Ù
ITEM #8: value ŸÀÔÀ» »ç¿ëÇÒ ¶§ 0À̶ó´Â °ªÀÌ Àǹ̸¦ °¡Áú ¼ö ÀÖµµ·Ï Ç϶ó
ITEM #9: ReferenceEquals( ), static Equals( ), instance Equals( ), operator==ÀÇ »óÈ£ ¿¬°ü¼ºÀ» ÀÌÇØÇ϶ó
ITEM #10: GetHashCode( )ÀÇ ÇÔÁ¤À» À¯ÀÇÇ϶ó
ITEM #11: foreach ·çÇÁ°¡ ´õ ÁÁ´Ù
2Àå. ´å³Ý ¸®¼Ò½º °ü¸®
ITEM #12: ÇÒ´ç¹®º¸´Ù´Â º¯¼ö Ãʱâȸ¦ »ç¿ëÇÏ´Â ÆíÀÌ ´õ ÁÁ´Ù
ITEM #13: static Ŭ·¡½º ¸â¹ö´Â static »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© ÃʱâÈÇ϶ó
ITEM #14: ¿¬¼âÀûÀÎ »ý¼ºÀÚ È£ÃâÀ» ÀÌ¿ëÇ϶ó
ITEM #15: ÀÚ¿øÇØÁ¦¸¦ À§Çؼ using°ú try/finally¸¦ ÀÌ¿ëÇ϶ó
ITEM #16: Garbage¸¦ ÃÖ¼ÒÈÇ϶ó
ITEM #17: boxing°ú unboxingÀ» ÃÖ¼ÒÈÇ϶ó
ITEM #18: Ç¥ÁØ Dispose ÆÐÅÏÀ» ±¸ÇöÇ϶ó
3Àå. C# ¼³°è»çÇ× ±¸Çö
ITEM #19: »ó¼Óº¸´Ù´Â interface¸¦ Á¤ÀÇÇÏ°í ±¸ÇöÇÏ´Â °ÍÀÌ ÁÁ´Ù
ITEM #20: interfaceÀÇ ±¸Çö°ú virtual ¸Þ¼µåÀÇ overridingÀ» ±¸ºÐÇ϶ó
ITEM #21: delegate¸¦ ÀÌ¿ëÇÏ¿© ÄݹéÀ» Ç¥ÇöÇ϶ó
ITEM #22: À̺¥Æ®¸¦ ÀÌ¿ëÇÏ¿© ¿ÜºÎ·Î ³ëÃâÇÒ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇ϶ó
ITEM #23: Ŭ·¡½º ³»ºÎ °´Ã¼¿¡ ´ëÇÑ reference¸¦ ¹ÝȯÇÏ´Â °ÍÀ» ÇÇÇ϶ó
ITEM #24: ¸í·ÉÀû ÇÁ·Î±×·¡¹Öº¸´Ù ¼±¾ðÀû ÇÁ·Î±×·¡¹ÖÀÌ ´õ ÁÁ´Ù
ITEM #25: serializable ŸÀÔÀÌ ´õ ÁÁ´Ù
ITEM #26: IComparable°ú IComparer¸¦ ÀÌ¿ëÇÏ¿© ¼øÂ÷ °ü°è¸¦ ±¸ÇöÇ϶ó
ITEM #27: ICloneableÀÇ ±¸ÇöÀ» ÇÇÇ϶ó
ITEM #28: Çüº¯È¯ ¿¬»êÀÚÀÇ ±¸ÇöÀ» ÇÇÇ϶ó
ITEM #29: ±â¹Ý Ŭ·¡½ºÀÇ º¯°æÀÌ ¿µÇâÀ» ÁÙ °æ¿ì¿¡¸¸ new ÇÑÁ¤ÀÚ¸¦ »ç¿ëÇ϶ó
4Àå. ÀÌÁø ÄÄÆ÷³ÍÆ® ÀÛ¼º
ITEM #30: CLS¸¦ ÁؼöÇÏ´Â ¾î¼Àºí¸®°¡ ´õ ÁÁ´Ù
ITEM #31: ÀÛ°í ´Ü¼øÇÑ ¸Þ¼µå°¡ ´õ ÁÁ´Ù
ITEM #32: ÀÛ°í ÀÀÁýµµ°¡ ³ôÀº ¾î¼Àºí¸®°¡ ´õ ÁÁ´Ù
ITEM #33: ŸÀÔÀÇ °¡½Ã¼ºÀ» Á¦ÇÑÇ϶ó
ITEM #34: À¥ API´Â Å« ´ÜÀ§·Î ÀÛ¼ºÇ϶ó
5Àå. ÇÁ·¹ÀÓ¿öÅ©ÀÇ »ç¿ë
ITEM #35: À̺¥Æ® Çڵ鷯º¸´Ù override¸¦ »ç¿ëÇÏ´Â ÆíÀÌ ³´´Ù
ITEM #36: ´å³Ý ·±Å¸ÀÓÀÇ Áø´Ü±â´ÉÀ» »ç¿ëÇ϶ó
ITEM #37: Ç¥ÁØ È¯°æ¼³Á¤ ¸ÞÄ¿´ÏÁòÀ» ÀÌ¿ëÇ϶ó
ITEM #38: µ¥ÀÌÅÍ ¹ÙÀεùÀ» »ç¿ëÇ϶ó
ITEM #39: ´å³ÝÀÇ À¯È¿¼º °ËÁõ ±â´ÉÀ» »ç¿ëÇ϶ó
ITEM #40: ÀûÀýÇÑ collection °³Ã¼¸¦ ÀÌ¿ëÇ϶ó
ITEM #41: »õ·Î¿î ±¸Á¶Ã¼º¸´Ù´Â DataSetÀÌ ÁÁ´Ù
ITEM #42: reflectionÀ» ´Ü¼øÈÇϱâ À§Çؼ attribute¸¦ »ç¿ëÇ϶ó
ITEM #43: reflectionÀ» °úµµÇÏ°Ô »ç¿ëÇÏÁö ¸»¶ó
ITEM #44: ¾ÖÇø®ÄÉÀ̼ǿ¡ Æ¯ÈµÈ ¿¹¿Ü Ŭ·¡½º¸¦ ¿Ïº®ÇÏ°Ô ÀÛ¼ºÇ϶ó
¡¡¡¡
6Àå. ±âŸ
ITEM #45: °ß°íÇÑ ¿¹¿Üº¸Áõ ±â¹ýÀÌ ´õ ÁÁ´Ù
ITEM #46: Interop¸¦ ÃÖ¼ÒÈÇ϶ó
ITEM #47: ¾ÈÀüÇÑ Äڵ尡 ´õ ÁÁ´Ù
ITEM #48: È°¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ Åø°ú ¸®¼Ò½º¿¡ ´ëÇؼ ¾Ë¾ÆµÎ¶ó
ITEM #49: C# 2.0ÀÇ ÁÖ¿äƯ¡
ITEM #50: ECMA Ç¥ÁØÀ» ÀÍÇô¶ó