ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ05·î09Æü(²Ð) 18:34:50ÍúÎò
¡¡¥é¥à¥À¼°¤Ï¡¢¥é¥à¥À±é»»»Ò¤òÍѤ¤¤Æ´Ê·é¤Ë´Ø¿ô¤òɽ¸½¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£
¡¡¥é¥à¥À¼°¤ò»È¤¦¤³¤È¤Ç¡¢Æ¿Ì¾´Ø¿ô¡Ê̾Á°¤Î¤Ê¤¤¥á¥½¥Ã¥É¡Ë¤òºîÀ®¤·¡¢¥á¥½¥Ã¥É¤ÎËÜÂΤòľÀܵ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤Þ¤¿¡¢¥é¥à¥À¼°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢°ú¿ô¤äÌá¤êÃͤη¿¤ò¼«Æ°Åª¤Ë¿äÏÀ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤è¤ê´Êñ¤Ê¤¤¤¤Êý¤ò¤¹¤ë¤È¡¢»öÁ°¤ËÄêµÁ¤·¤Æ¤¢¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
¤½¤Î¾ì¤Ç¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤òºîÀ®¤·¤Æ¼Â¹Ô¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ëµ¡Ç½¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢¥á¥½¥Ã¥É̾¤¬¤¢¤ê¤Þ¤»¤ó¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤¬¥·¥ó¥×¥ë¤ÇÆɤߤ䤹¤¯¤Ê¤ê¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
MicroSoft
¥é¥à¥À¼°¤Èƿ̾´Ø¿ô
MicroSoft
¥é¥à¥À¼°±é»»»Ò¤Ï¥é¥à¥À¼°¤òÄêµÁ¤¹¤ë
Qiita @toRisouP(³ô¼°²ñ¼Ò ¥Ð¡¼¥Á¥ã¥ë¥¥ã¥¹¥È) ÍÍ
¡ÚC#¡Û¤ï¤«¤Ã¤¿"¤Ä¤â¤ê"¤Ë¤Ê¤ì¤ë¡Ö¥é¥à¥À¼°¡×²òÀâ
¡¡¥é¥à¥À¼°¤ÏºÇ½é¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥á¥½¥Ã¥É¤ò¾Êά¤·¤Æµ½Ò¤Ç¤¤ëµË¡¤Ç¤¹¡£
¡¡¥é¥à¥À¼°¤Ï¡¢¥é¥à¥À±é»»»Ò => ¤òÍøÍѤ·¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò¡¢¥á¥½¥Ã¥É̾¡¢Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¤ò¾Êά¤·¤¿¾å¤Ç¡¢°ú¿ô¤È½èÍý¤Î¤ß¤òµ½Ò¤·¤Þ¤¹¡£
¡¡°ú¿ô¤ÈÌá¤êÃͤˤĤ¤¤Æ¤Ï¡¢¥é¥à¥À¼°¤Ç¤Ï·¿¿äÏÀ¤Îµ¡Ç½¤¬¼«Æ°Åª¤ËÈ÷¤ï¤Ã¤Æ¤¤¤ë¤¿¤á¡¢
ÊÑ¿ô̾¤À¤±¤òÀë¸À¤¹¤ì¤Ð¤è¤¤(½èÍý¤ÎÆâÍƤò¸µ¤Ë¡¢¥×¥í¥°¥é¥à¦¤Ç·¿¤ò¼«Æ°Åª¤Ëǧ¼±)¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ÊC# ¤Ë¤ª¤±¤ë¼°½ñ¼°¤Ë¤Ï return ¤¬¼«Æ°Åª¤Ë¤Ä¤¯¤¿¤á¡¢É¬¤º void °Ê³°¤ÎÌá¤êÃͤò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ë
¡¡·¿¤Ï¾Êά¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢Ç¤°Õ¤ÎÊÑ¿ô̾¤ò¤Ä¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡²¼µ¤Îµ½Ò¤¬¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò¡¢¥á¥½¥Ã¥É̾¡¢Ìá¤êÃͤη¿¡¢°ú¿ô¤Î·¿¤ò¾Êά¤·¤¿¾å¤Ç¡¢°ú¿ôÍѤÎÊÑ¿ô¤È½èÍý¤Î¤ß¤òµ½Ò¤·¤¿¡¢¥é¥à¥À¼°¤Ë¤è¤ë¥á¥½¥Ã¥É¤Î½ñ¼°¤Ç¤¹¡£
(°ú¿ô) => { ½èÍý }
¡¡Ê̤νñ¤Êý¤ò¤¹¤ë¤È¡¢²¼µ¤Î¤è¤¦¤Ê°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£
(°ú¿ô¤ÎÊÑ¿ô) => {¥á¥½¥Ã¥É¤ÎÃæ¿È(½èÍý)}
¡ãÎã¡ä
¡¡¾åµ¤Î½ñ¼°¤Ë¤Ê¤¾¤é¤¨¤Æ¡¢¥á¥½¥Ã¥É¤ò¥é¥à¥À¼°¤Çµ½Ò¤·¤¿½èÍý¤ÎÎã¤Ç¤¹¡£
(x, y) => { return x + y; }
¡¡¤³¤Î¤è¤¦¤Ê½ñ¼°¤Ç¥á¥½¥Ã¥É¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤Ç¤Ï¡¢¤³¤ì¤Ï¤¤¤Ã¤¿¤¤¤É¤Î¤è¤¦¤Ê½èÍý¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
¥á¥½¥Ã¥É¤¬¤É¤Î¤è¤¦¤Ë¤·¤Æ¾Êά¤µ¤ì¤Æ¤³¤³¤Ë»ê¤ë¤Î¤«¡¢½çÈ֤˲áÄø¤ò²òÀ⤷¤Þ¤¹¡£
¡¡²¼µ¤Î¤è¤¦¤Ê¥á¥½¥Ã¥É¤¬¤¢¤Ã¤¿¤È¤·¤Þ¤¹¡£
¡¡¤³¤Î¥á¥½¥Ã¥É¤Î°ú¿ô¤È½èÍý¤ÎÆâÍƤ¬¡¢¾åµ¤Î¥é¥à¥À¼°¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ëÉôʬ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢¥é¥à¥À¼°¤Ç¤Ï°ú¿ô¤È½èÍý¤À¤±¤ò½ñ¤±¤Ð¥á¥½¥Ã¥É¤È¤·¤Æǧ¼±¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£
¡¡
private int CalSum( int x , int y) { return x + y; }
¡¡¡¡¢
¡¡
¡¡¾åµ¤Î½èÍý¤ò¾Êά¤·¤Æµ½Ò¤¹¤ë¤³¤È¤Ç
(x, y) => { return x + y; }
¡¡¤³¤¦¤Ê¤ê¤Þ¤¹¡£
¡¡¤Ç¤Ï¡¢ºÇ½é¤Î¥á¥½¥Ã¥É¤ò¡¢¾¯¤·¤º¤Ä¥é¥à¥À¼°¤Ë¶á¤Å¤±¤Æ¤¤¤¤Þ¤¹¡£
¡¡¤Þ¤º¡¢¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤ÎÆâÍƤò²£¤Ë°ÜÆ°¤·¤Þ¤¹¡£
private int CalSum( int x , int y)¡¡{ return x + y; }¡¡//¡¡¢«¡¡¤³¤³¤Ë°ÜÆ°
¡¡Â³¤¤¤Æ¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò¤ò¾Êά¤·¤Þ¤¹¡£
¥é¥à¥À¼°¤Ï°ú¿ô¤äÊÑ¿ô¤Ë³ÊǼ¤·¤Æ»È¤¦¤Î¤Ç¡¢¥¢¥¯¥»¥¹½¤¾þ»Ò¤ÏÉÔÍפǤ¹(¾ï¤Ë¥í¡¼¥«¥ë°·¤¤¤Ç¤¹)
¡¡¡¡¢
¡¡¤³¤¦¤Ê¤ê¤Þ¤·¤¿¡£
int CalSum( int x , int y) { return x + y; }
¡¡¤³¤³¤Ç¥é¥à¥À¼°¤ÎµË¡¤ËÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢´Ø¿ô̾¤ò¾Êά¤·¤Þ¤¹¡£
¤Þ¤¿¡¢Ìá¤êÃͤȰú¿ô¤¬·¿¿äÏÀ¤Ë¤Ê¤ë¤¿¤á¡¢Ìá¤êÃͤȰú¿ô¤Î·¿¤ÎÀë¸À¤ò¾Êά¤·¤Þ¤¹¡£
¡¡¡¡¢
¡¡¤³¤¦¤Ê¤ê¤Þ¤·¤¿¡£
(x,y) => {return x + y;}
¡¡¤³¤ì¤ÇºÇ½é¤ËÄ󼨤·¤¿¥é¥à¥À¼°¤Î½èÍý¤Î´°À®¤Ç¤¹¡£
»Ä¤Ã¤Æ¤¤¤ëº¸ÊդΠ(x, y) ¤¬°ú¿ô¤ÎÊÑ¿ô¡¢±¦ÊÕ¤¬¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤ÎÆâÍƤǤ¹¡£
¡¡¥é¥à¥À¼°¤ÏÆɤ߲ò¤¯¤³¤È¤¬Èó¾ï¤ËÆñ¤·¤¤¤¿¤á¡¢ºÇ½é¤Î¤¦¤Á¤Ï¡¢¤³¤Î¤è¤¦¤Ë£±¤Ä£±¤Ä½èÍý¤Îή¤ì¤òʬ²ò¤·¤ÆÍý²ò¤ò¿¼¤á¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¥Ç¥ê¥²¡¼¥È¤Ï¡¢C# ¤Î´Ø¿ô¥Ý¥¤¥ó¥¿¤Î¤è¤¦¤Ê¤â¤Î¤Ç¡¢Â¾¤Î¥á¥½¥Ã¥É¤ò»²¾È¤¹¤ëÊÑ¿ô¤Î·¿¤Ç¤¹¡£
´Êñ¤Ë¸À¤¨¤Ð¡¢¥Ç¥ê¥²¡¼¥È¤Ï¥á¥½¥Ã¥É¤òÊÑ¿ô¤Î¤è¤¦¤Ë°·¤¦¤³¤È¤¬¤Ç¤¤ë»ÅÁȤߤǤ¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥á¥½¥Ã¥É¤ò°ú¿ô¤äÌá¤êÃͤȤ·¤ÆÅϤ¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤³¤Á¤é¤Îµ»ö¤â»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¢ª¡¡¥Ç¥ê¥²¡¼¥È
¡¡Æ¿Ì¾¥á¥½¥Ã¥É¤Ï¡¢Ì¾Á°¤ò»ý¤¿¤Ê¤¤´Ø¿ô¤Ç¡¢¥Ç¥ê¥²¡¼¥È¤ò»È¤Ã¤Æ½èÍý¤òÅϤ¹ºÝ¤Ë»È¤ï¤ì¤Þ¤¹¡£
¡¡¤Ä¤Þ¤ê¥é¥à¥À¼°¤Ï¡¢¤³¤Îƿ̾¥á¥½¥Ã¥É¤ò»È¤¤¡¢¥Ç¥ê¥²¡¼¥È¤Îµ¡Ç½¤ò»È¤¦¤³¤È¤Ç¡¢´Ê·é¤Ëµ½Ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë»ÅÁȤߤǤ¹¡£
¡¡¥Ç¥ê¥²¡¼¥È¤È¥é¥à¥À¼°¤Ï¡¢Î¾Êý¤È¤â¥á¥½¥Ã¥É¤Ë´ØÏ¢¤¹¤ë³µÇ°¤Ç¤¹¤¬¡¢
¤¤¤Þ¤Þ¤Ç¤ÎÀâÌÀ¤³¤È¤«¤é¡¢¤½¤Î´Ø·¸¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Þ¤È¤á¤é¤ì¤Þ¤¹¡£
¡¡¡¦¥Ç¥ê¥²¡¼¥È¤Ï¡¢¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤òÊÝ»ý¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£ ¡¡¡¦¥é¥à¥À¼°¤Ï¡¢Æ¿Ì¾´Ø¿ô¤ò´Ê·é¤ËÄêµÁ¤¹¤ë¤¿¤á¤Î¹½Ê¸¤Ç¤¹¡£ ¡¡¡¦¥é¥à¥À¼°¤ÇÄêµÁ¤·¤¿Æ¿Ì¾´Ø¿ô¤Ï¡¢¥Ç¥ê¥²¡¼¥È¤ËÂåÆþ¤·¤Æ»È¤¤¤Þ¤¹¡£
¡¡¤è¤Ã¤Æ¥é¥à¥À¼°¤Ï¡¢¥Ç¥ê¥²¡¼¥È¤ò»È¤Ã¤Æ¥³¡¼¥É¤òû¤¯½ñ¤¯¤¿¤á¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¤È¤â¸À¤¨¤Þ¤¹¡£
¡¡°Ê²¼¤Ë¡¢¥Ç¥ê¥²¡¼¥È¤È¥é¥à¥À¼°¤ò»È¤Ã¤¿Îã¤ò¼¨¤·¤Þ¤¹¡£
// ¥Ç¥ê¥²¡¼¥È¤ÎÀë¸À public delegate bool MyPredicate(int value); // ¥Ç¥ê¥²¡¼¥È·¿¤ÎÊÑ¿ô¤Ë¥é¥à¥À¼°¤ÇÄêµÁ¤·¤¿Æ¿Ì¾´Ø¿ô¤òÂåÆþ MyPredicate isEven = n => n % 2 == 0; // ¥Ç¥ê¥²¡¼¥È¤ò»È¤Ã¤Æ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹ bool result = isEven(4); // ·ë²Ì¤Ï true
¡¡¤³¤ÎÎã¤Ç¤Ï¡¢MyPredicate ¤È¤¤¤¦¥Ç¥ê¥²¡¼¥È¤òÄêµÁ¤·¡¢isEven ¤È¤¤¤¦ÊÑ¿ô¤Ë¥é¥à¥À¼°¤ÇÄêµÁ¤·¤¿Æ¿Ì¾´Ø¿ô¤òÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Îƿ̾´Ø¿ô¤Ï¡¢Í¿¤¨¤é¤ì¤¿¿ôÃͤ¬¶ö¿ô¤«¤É¤¦¤«¤òȽÃǤ·¤Þ¤¹¡£
¡¡¥Ç¥ê¥²¡¼¥È¤ò»È¤Ã¤Æ¡¢¤³¤Îƿ̾´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï¡¢isEven(4) ¤È¤·¤Æ¡¢4 ¤¬¶ö¿ô¤Ç¤¢¤ë¤«¤É¤¦¤«¤òȽÃǤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë¡¢¥é¥à¥À¼°¤ò»È¤Ã¤Æ¡¢¸«¤¨¤Ê¤¤¥á¥½¥Ã¥É¤¬Â¸ºß¤·¡¢¤½¤ÎÃæ¤Ë½èÍý¤ò½ñ¤¹þ¤ó¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡Æ¿Ì¾¥á¥½¥Ã¥É¤È¥é¥à¥À¼°¤Ï¡¢Î¾Êý¤È¤â̾Á°¤ò»ý¤¿¤Ê¤¤¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ëÊýË¡¤Ç¤¹¤¬¡¢½ñ¼°¤¬°Û¤Ê¤ê¤Þ¤¹¡£
°Ê²¼¤Ë¡¢¤½¤ì¤¾¤ì¤Î½ñ¼°¤ò¼¨¤·¤Þ¤¹¡£
¡¡Îã¤È¤·¤Æ¡¢£²¤Ä¤Î¿ôÃͤÎϤòÊÖ¤¹¥á¥½¥Ã¥É¤ò¤½¤ì¤¾¤ì¤ÎÊýË¡¤ÇÄêµÁ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡ãƿ̾¥á¥½¥Ã¥É¤Î¾ì¹ç¡ä
Func<int, int, int> add = delegate(int x, int y) { return x + y; };
¡ã¥é¥à¥À¼°¤Î¾ì¹ç¡ä
Func<int, int, int> add = (x, y) => { return x + y; };
¡¡¤É¤Á¤é¤âƱ¤¸µ¡Ç½¤ò»ý¤Ä¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥é¥à¥À¼°¤ÎÊý¤¬´Ê·é¤Ë½ñ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¡¦¥é¥à¥À¼°¤Ï¥Ç¥ê¥²¡¼¥È¤ò»È¤Ã¤¿¥³¡¼¥É¤òû¤¯½ñ¤¯¤¿¤á¤ËÍøÍѤµ¤ì¤Þ¤¹¡£ ¡¡¡¦¥Ç¥ê¥²¡¼¥È¤ËÅϤ¹Æ¿Ì¾¥á¥½¥Ã¥É¤ò¥é¥à¥À¼°¤Ç´Ê·é¤Ëµ½Ò¤Ç¤¤Þ¤¹¡£
¡¡¥Ç¥ê¥²¡¼¥È¤È¥é¥à¥À¼°¤Ï¡¢C# ¤Ë¤ª¤¤¤Æ¥á¥½¥Ã¥É¤ò°·¤¦¤¿¤á¤Î½ÅÍפʳµÇ°¤Ç¤¹¡£
¥Ç¥ê¥²¡¼¥È¤Ï¡¢¥á¥½¥Ã¥É¤Ø¤Î»²¾È¤òÊÝ»ý¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢¥é¥à¥À¼°¤Ï¡¢´Ê·é¤Ëƿ̾´Ø¿ô¤òÄêµÁ¤¹¤ë¹½Ê¸¤Ç¤¹¡£
¡¡¥Ç¥ê¥²¡¼¥È¤È¥é¥à¥À¼°¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ç¡¢¥³¡¼¥É¤¬¥·¥ó¥×¥ë¤ÇÆɤߤ䤹¤¯¤Ê¤ê¡¢½ÀÆð¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¼¡¤Ï¡¡¥Ç¥ê¥²¡¼¥È¤È¥é¥à¥À¼°¤Î³èÍÑ»öÎã¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯