Àμö °³¼ö´Â ¸Þ¼µå Á¤Àǹ®¿¡ ¼±¾ðÇÑ´ë·ÎÀÌÁö¸¸ params Å°¿öµå¸¦ »ç¿ëÇÏ¸é ¹è¿À» Àü´ÞÇÏ¿© ÀÓÀÇ °³¼öÀÇ Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀº ºñÁÖ¾ó º£ÀÌÁ÷¿¡¼ µû ¿Â °ÍÀε¥ CÀÇ °¡º¯ Àμö¿Íµµ À¯»çÇÏ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÀÓÀÇ °³¼öÀÇ Á¤¼ö¸¦ Àμö·Î Àü´Þ¹Þ¾Æ ÃÑÇÕÀ» ±¸ÇØ ¸®ÅÏÇÑ´Ù.
Params |
½ÇÇà°á°ú |
using System;
class CSTest { public static int AddAll(params int[] nums) { int sum = 0; for (int i = 0; i < nums.Length; i++) { sum += nums[i]; } return sum; }
static void Main() { int[] ar = { 3, 4, 5 }; Console.WriteLine("1+2 = " + AddAll(new int[2] { 1, 2 })); Console.WriteLine("3+4+5 = " + AddAll(ar)); Console.WriteLine("6+7+8+9 = " + AddAll(6, 7, 8, 9)); } } |
1+2 = 3 3+4+5 = 12 6+7+8+9 = 30 |
¹è¿Çü Àμö´Â ÇÑ ¸Þ¼µå¿¡ ´Ü Çϳª¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¸¶Áö¸· À§Ä¡¿¡¸¸ ¿Ã ¼ö ÀÖ´Ù. ¹è¿Çü Àμö°¡ µÎ °³ ÀÌ»óÀ̰ųª ´Ù¸¥ ÀμöÀÇ Áß°£¿¡ ¿À¸é ¾îµð±îÁö°¡ ¹è¿ÀÎÁö °æ°è¸¦ ±¸ºÐÇÒ ¼ö ¾ø´Ù. ¾îÂ÷ÇÇ °³¼ö¿¡ »ó°ü¾øÀÌ Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖÀ¸´Ï Á¦ÀÏ µÚ¿¡ Çϳª¸¸ ÀÖÀ¸¸é µÈ´Ù.
È£Ãâ¿øÀº ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ½ÇÀμö¸¦ Àü´ÞÇÑ´Ù. ÁøÂ¥ ¹è¿À» Àü´ÞÇϵ簡 ¾Æ´Ï¸é new ¿¬»êÀÚ·Î ¸¸µç Àӽà ¹è¿À» Àü´ÞÇÒ ¼öµµ ÀÖ´Ù. ÄÞ¸¶·Î ¹è¿ ¿ä¼Ò¸¦ ±¸ºÐÇÏ¿© ³ª¿ÇÏ¸é ¹è¿ ÇüÅ·ΠÆ÷ÀåÇÏ¿© Àü´ÞÇÑ´Ù. ¸Þ¼µå´Â Àü´ÞµÈ ¹è¿ÀÇ Length ÇÁ·ÎÆÛƼ·Î ÀμöÀÇ °³¼ö¸¦ Á¶»çÇÏ°í [ ] ¿¬»êÀÚ·Î ¹è¿ ¿ä¼Ò¸¦ Àд´Ù.
¹è¿ÀÇ Á¤ÀÇ»ó °°Àº ŸÀÔÀÇ Àμö¸¸ Àü´ÞÇÏ´Â °ÍÀÌ ¿øÄ¢ÀÌÁö¸¸ ¸ðµç ŸÀÔÀÇ ·çÆ®ÀÎ objectÀÇ ¹è¿À» »ç¿ëÇϸé ÀÓÀÇ Å¸ÀÔÀÇ º¯¼ö ÁýÇÕÀ» Àü´ÞÇÒ ¼ö ÀÖ´Ù. À̶§ È£Ãâ¿ø¿¡¼´Â is, as µîÀÇ ¿¬»êÀÚ·Î ½ÇÀμöÀÇ Å¸ÀÔÀ» Á¡°ËÇÏ¿© ó¸®ÇÑ´Ù. ÀÓÀÇ Å¸ÀÔÀÇ ¹è¿Çü Àμö¸¦ »ç¿ëÇÏ´Â °¡Àå ÁÁÀº ¿¹´Â WriteLine ¸Þ¼µåÀÌ´Ù.
public static void WriteLine ( string format, params Object[] arg );
¼½Ä ¹®ÀÚ¿°ú ÀÓÀÇ °³¼öÀÇ °´Ã¼ ¹è¿À» ¹Þ¾Æ ¼½ÄÀÇ °³¼ö¸¸Å ¹è¿ÀÇ °¢ ¿ä¼Ò¸¦ ²¨³»°í ŸÀÔ¿¡ ¸Â°Ô Á¶¸³ÇÏ¿© ¹®ÀÚ¿·Î Ãâ·ÂÇÑ´Ù.