Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

LINQ


¡¡LINQ (Language Integrated Query)¡Ú¥ê¥ó¥¯¡Û¤Ï¡¢.NET¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î°ìÉô¤Ç¡¢C#¸À¸ì¤ËÁȤ߹þ¤Þ¤ì¤¿¶¯ÎϤʥǡ¼¥¿Áàºîµ¡Ç½¤Ç¤¹¡£
ÇÛÎó¤ä¥ê¥¹¥È¤Ê¤É¤Î¥³¥ì¥¯¥·¥ç¥ó¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¤¿¤ê¡¢Áàºî¤·¤¿¤ê¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£

¡¡LINQ¤Î¼ç¤Êµ¡Ç½¤Ï¡¢¥Ç¡¼¥¿¤Î¥Õ¥£¥ë¥¿¥ê¥ó¥°¡¢¥½¡¼¥È¡¢ÊÑ´¹¡¢½¸·×¤Ê¤É¤Ç¤¹¡£
SQL¡Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÌ䤤¹ç¤ï¤»¸À¸ì¡Ë¤Ë»÷¤¿¹½Ê¸¤ò»ÈÍѤ·¤Æ¡¢¤³¤ì¤é¤ÎÁàºî¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡LINQ¤Ï¥³¥ì¥¯¥·¥ç¥ó¤À¤±¤Ç¤Ê¤¯¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤äXML¥Õ¥¡¥¤¥ë¤Ê¤É¤Î¾¤Î¼ïÎà¤Î¥Ç¡¼¥¿¥½¡¼¥¹¤ËÂФ·¤Æ¤â»ÈÍѤǤ­¤Þ¤¹¡£


LINQ ¤ËÍøÍѤµ¤ì¤Æ¤¤¤ë¥·¥ó¥¿¥Ã¥¯¥¹(¹½Ê¸)


¡¡LINQ ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ë¤Ï¡¢Â¿¤¯¤Î¥·¥ó¥¿¥Ã¥¯¥¹(±Ñ: syntax¡¢¹½Ê¸)¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡
¡¡¤½¤Î¤¿¤á¡¢LINQ ¤ò¤·¤Ã¤«¤ê¤ÈÍý²ò¤·¤¿¾å¤Ç³èÍѤ·¤Æ¤¤¤¯¤¿¤á¤Ë¤Ï¡¢²¼µ­¤Î¤è¤¦¤Ê½èÍý¤òÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤¬½ÅÍפǤ¹¡£


£±¡¥¥é¥à¥À¼°

¡¡
¡¡LINQ¤Î¥¯¥¨¥ê¤Ç¤Ï¡¢¥é¥à¥À¼°¤ò¿ÍѤ·¤Þ¤¹¡£
¤³¤ì¤Ï¥á¥½¥Ã¥É¤ò´Ê·é¤Ëµ­½Ò¤¹¤ë¤¿¤á¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤Ç¡¢Î㤨¤Ð x => x > 10 ¤È¤¤¤¦·Á¤Ç¡Öx¤¬10¤è¤êÂ礭¤¤¡×¤³¤È¤òɽ¤·¤Þ¤¹¡£

¡¡¥é¥à¥À¼°¤ÎÍý²ò¤ÏLINQ¤ò»È¤¦¾å¤ÇÂçÊѽÅÍפǤ¹¡£

¡¡¤Þ¤¿¥é¥à¥À¼°¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥Ç¥ê¥²¡¼¥È¤Ë¤Ä¤¤¤Æ¤âÍý²ò¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡³Ø½¬¤Î¿Ê¤áÊý¤È¤·¤Æ¤Ï¡¢¥Ç¥ê¥²¡¼¥È¡¡¢ª¡¡¥é¥à¥À¼°¡¡¢ª¡¡LINQ ¤Î½çÈÖ¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£


£²¡¥¥á¥½¥Ã¥É¥Á¥§¡¼¥ó


¡¡LINQ¤Ç¤ÏÊ£¿ô¤ÎÁàºî(¥á¥½¥Ã¥É)¤ò.¡Ê¥É¥Ã¥È¡Ë¤ò»È¤Ã¤Æ¤Ä¤Ê¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤Îµ­½ÒÊýË¡¤ò¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤È¸Æ¤Ó¤Þ¤¹¡£

¡¡¤³¤ì¤Ë¤è¤ê°ìÏ¢¤ÎÁàºî¤ò°ì¹Ô¤Çµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡Î㤨¤Ð list.Where(x => x > 10).Select(x => x * 2) ¤Î¤è¤¦¤Ë½ñ¤±¤Þ¤¹¡£
¤³¤ì¤Ï¡Ölist¤«¤é10¤è¤êÂ礭¤¤Í×ÁǤò¼è¤ê½Ð¤·¡¢¤½¤ì¤é¤ò2Çܤˤ¹¤ë¡×¤È¤¤¤¦Áàºî¤òɽ¤·¤Þ¤¹¡£


£³¡¥³ÈÄ¥¥á¥½¥Ã¥É


¡¡LINQ¤Î¥á¥½¥Ã¥É¤Î¿¤¯¤Ï³ÈÄ¥¥á¥½¥Ã¥É¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Î㤨¤Ð IEnumerable<T> ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤ÆľÀÜ Where ¤ä Select ¤Ê¤É¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


£´¡¥¥¸¥§¥Í¥ê¥Ã¥¯¥á¥½¥Ã¥É


¡¡LINQ¤Î¥á¥½¥Ã¥É¤Î¿¤¯¤Ï¥¸¥§¥Í¥ê¥Ã¥¯¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Ç¤°Õ¤Î·¿¤Î¥Ç¡¼¥¿¤ËÂФ·¤ÆƱ¤¸Áàºî¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


£µ¡¥ÃÙ±äɾ²Á¡ÊÃÙ±ä¼Â¹Ô¡Ë


¡¡LINQ¤Î¥¯¥¨¥ê¤Ï¼Â¹Ô¤¬Ãٱ䤵¤ì¤ëÆÃÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥¯¥¨¥ê¤¬ÄêµÁ¤µ¤ì¤¿»þÅÀ¤Ç¤Ï¥Ç¡¼¥¿¤ÎÁàºî¤Ï¹Ô¤ï¤ì¤º¡¢¼ÂºÝ¤Ë·ë²Ì¤¬É¬ÍפȤʤä¿¥¿¥¤¥ß¥ó¥°
¡ÊÎ㤨¤Ð ToList() ¤ä ToArray() ¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿»þ¡¢¤Þ¤¿¤Ï foreach ʸ¤ÇÈ¿Éü½èÍý¤¬¹Ô¤ï¤ì¤¿»þ¤Ê¤É¡Ë¤Ç½é¤á¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¡¡¤³¤ì¤Ë¤è¤ê¡¢A ¤Î½èÍý¤Î·ë²Ì¤ò»È¤Ã¤Æ¡¢B ¤Î½èÍý¤ò¹Ô¤¦¤È¤¤¤Ã¤¿µ­½Ò¤ò1¹Ô¤Ç½ñ¤¯¤³¤È¤¬¤Ç¤­¤¿¤ê¡¢¤½¤Î¤È¤­¤ËɬÍפʥǡ¼¥¿¤À¤±¤ò¸úΨŪ¤Ë½èÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



¡¡¤³¤ì¤é¤Î³µÇ°¤ÏLINQ¤ò»È¤¦¾å¤Ç½ÅÍפǡ¢¤½¤ì¤¾¤ì¤¬¤É¤Î¤è¤¦¤ËÆ°ºî¤¹¤ë¤«¤òÍý²ò¤¹¤ë¤³¤È¤Ç¡¢LINQ¤Î¥¯¥¨¥ê¤ò¤è¤ê¸ú²ÌŪ¤Ë½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


LINQ ¤Î³èÍѾì½ê


¡¡LINQ ¤Ï¥³¥ì¥¯¥·¥ç¥ó¤ËÂФ·¤ÆÍÑ°Õ¤µ¤ì¤¿µ¡Ç½¤Ç¤¹¡£

¡¡List ¤ÎÁàºî¤ò¹Ô¤¦¾ì¹ç¡¢LINQ ¤òÍøÍѤ·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢foreach ¤ò¹Ô¤Ã¤Æ¡¢if ʸ¤Ê¤É¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ç¡¢Æ±¤¸µóÆ°¤ò¼Â¸½²Äǽ¤Ç¤¹¡£
LINQ¤Ï¡¢¤½¤Î¤è¤¦¤Êforeach¥ë¡¼¥×¤Èifʸ¤ò»È¤Ã¤¿Áàºî¤ò¤è¤ê¥·¥ó¥×¥ë¤Ë¡¢¤Þ¤¿¸úΨŪ¤Ë¹Ô¤¦¤¿¤á¤Î¥Ä¡¼¥ë¤È¤·¤ÆÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡½¾Íè¤Îforeach¥ë¡¼¥×¤Ë¤è¤ëÊýË¡¤Ï¡¢Íý²ò¤·¤ä¤¹¤¯¡¢ÌÀ¼¨Åª¤ÊÁàºî¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¥³¡¼¥É¤¬¾éĹ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
Æäˡ¢Ê£»¨¤Ê½èÍý¤ò¹Ô¤¦¾ì¹ç¤ä¡¢Ê£¿ô¤ÎÁàºî¤ò°ìÅ٤˹Ԥ¦¾ì¹ç¤Ë¤Ï¡¢foreach¥ë¡¼¥×¤ò¥Í¥¹¥È¤·¤¿¤ê¡¢Ê£¿ô¤Îifʸ¤òÁȤ߹ç¤ï¤»¤¿¤ê¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¤½¤ì¤ËÂФ·¤Æ¡¢LINQ¤Ï¡¢°ìÏ¢¤ÎÁàºî¤ò°ì¹Ô¤Çµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¥³¡¼¥É¤Î¸«Ä̤·¤¬Îɤ¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢LINQ¤ÏÃÙ±ä¼Â¹Ô¤¬²Äǽ¤Ê¤Î¤Ç¡¢É¬Íפʥǡ¼¥¿¤À¤±¤ò¸úΨ¤è¤¯½èÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¤·¤«¤·¡¢LINQ¤Ï°ìÉô¤ÎÆüì¤Ê¥±¡¼¥¹¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Ë±Æ¶Á¤òµÚ¤Ü¤¹²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢ÂçÎ̤Υǡ¼¥¿¤ò½èÍý¤¹¤ë¾ì¹ç¤Ê¤É¤ÏÃí°Õ¤¬É¬ÍפǤ¹¡£
¤Þ¤¿¡¢LINQ¤Î¥á¥½¥Ã¥É¤Ï¡¢Àè¤Û¤É¤â¤ªÅÁ¤¨¤·¤¿¤è¤¦¤Ë¡¢Â¿¤¯¤Î¥·¥ó¥¿¥Ã¥¯¥¹¤ò³Ð¤¨¤ëɬÍפ¬¤¢¤ê¡¢½é³Ø¼Ô¤Ë¤È¤Ã¤Æ¤ÏÍý²ò¤¹¤ë¤Î¤¬Æñ¤·¤¤µ¡Ç½¤Ç¤â¤¢¤ê¤Þ¤¹¡£

¡¡º£²ó¤Ï¡¢½¾Íè¤Î foreach + if ʸ¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿ List ¤ÎÁàºî¤ò¥Ù¡¼¥¹¤Ë¡¢LINQ ¤ò»È¤Ã¤ÆÃÖ¤­´¹¤¨¤Æ³Ø½¬¤·¤Æ¤¤¤¯¤³¤È¤¬ÌÜŪ¤Ç¤¹¡£

¡¡LINQ ¤Î½èÍý¤È¡¢¼«Ê¬¤Î³Ø½¬¤·¤Æ¤­¤¿½¾Íè¤Î½èÍý¤È¤ò¡¢Èæ³Ó¤·¤Ê¤¬¤éÃÖ¤­´¹¤¨¤Æ¤¤¤¯¤³¤È¤Ë¤è¤ê¡¢Íý²ò¤ò¿¼¤á¤Æ¤¤¤¿¤À¤¯¤³¤È¤¬ÁÀ¤¤¤Ç¤¹¡£


­¡¥³¥ì¥¯¥·¥ç¥ó¤«¤éÆÃÄê¤Î¾ò·ï¤òËþ¤¿¤¹Í×ÁǤòõ¤¹¡¡¡¼Where ¥á¥½¥Ã¥É¡¼


¡¡¤½¤ì¤Ç¤Ï¼ÂºÝ¤Ë¡¢¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤·¤Ê¤¬¤é³Ø½¬¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¤Þ¤º List Áàºî¤Ë¤ª¤¤¤ÆÉÑÈˤËÍøÍѤµ¤ì¤ë¡¢¥³¥ì¥¯¥·¥ç¥óÆâÆÃÄê¤Î¾ò·ï¤òËþ¤¿¤¹Í×ÁǤòõ¤¹½èÍý¤Ë¤Ä¤¤¤Æ¡¢
Where ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ½èÍý¤òÃÖ¤­´¹¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¤Þ¤º¤Ï¡¢½¾Íè¤Î½èÍý¤Îµ­½Ò¤Ç¤¹¡£


List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> evenNumbers = new ();

foreach(int num in numbers){
    if(num % 2 == 0){
        evenNumbers.Add(num);
    }
}

¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢numbers¥ê¥¹¥È¤ÎÃ椫¤é¶ö¿ô¤ò¸«¤Ä¤±¤ÆevenNumbers¥ê¥¹¥È¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£



¡¡¤½¤ì¤Ç¤Ï¤³¤Î½èÍý¤ò LINQ ¤ò»È¤Ã¤¿¡¢Where ¥á¥½¥Ã¥É¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤­¤Þ¤¹¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> evenNumbers = numbers.Where(num => num % 2 == 0).ToList();

¡¡Where()¥á¥½¥Ã¥É¤Ï¾ò·ï¤òËþ¤¿¤¹Í×ÁǤò¥Õ¥£¥ë¥¿¥ê¥ó¥°¤·¡¢ToList()¤Ï·ë²Ì¤ò¿·¤·¤¤¥ê¥¹¥È¤ËÊÑ´¹¤·¤Þ¤¹¡£

¡¡Where ¥á¥½¥Ã¥É¤Ë¤è¤Ã¤ÆÃê½Ð¤µ¤ì¤¿¾ðÊó¤Ï¤Þ¤À List ¤Ë¤Ï¤Ê¤Ã¤Æ¤ª¤é¤º¡¢°ìö¡¢Ãê½Ð¤À¤±¤µ¤ì¤¿¡¢¤¤¤ï¤ÐÂÔµ¡¤Î¾õÂ֤Ǥ¹¡£

¡¡¤½¤ì¤ËÂФ·¤Æ¡¢¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤ò¹Ô¤¤¡¢ToList ¥á¥½¥Ã¥É¤ò¤Ä¤Ê¤²¤ë¤³¤È¤Ç¡¢Ãê½Ð·ë²Ì¤ò List ¤Ë¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
MicroSoft
Enumerable.Where ¥á¥½¥Ã¥É




¡¡List ¤Ë¤Ï FindAll ¥á¥½¥Ã¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢Where ¥á¥½¥Ã¥É¤òƱ¤¸¤è¤¦¤Ë¡¢ÆÃÄê¤Î¾ò·ï¤Ë¹çÃפ¹¤ë¤¹¤Ù¤Æ¤ÎÍ×ÁǤòÃê½Ð¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤¿¤À¤·¡¢FindAll ¥á¥½¥Ã¥É¤Ï¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

¡¡¤½¤Î¤¿¤á¡¢ÆÃÄê¤Î¾ò·ï¤Ë¹çÃפ¹¤ëÍ×ÁǤòÃê½Ð¤¹¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¤Æ¡¢¤½¤Î¸å¤Ë¾¤Î½èÍý¤òÁȤ߹ç¤ï¤»¤¿¤¤¾ì¹ç¤Ë¤Ï Where ¥á¥½¥Ã¥É¤Ç¤¢¤ì¤ÐÂбþ²Äǽ¤Ç¤¹¡£
¼ÂºÝ¤Î³èÍÑÎã¤Ï¡¢¸å¤Û¤É¾Ò²ð¤·¤Þ¤¹¡£


­¢¥³¥ì¥¯¥·¥ç¥ó¤Î³ÆÍ×ÁǤòÁàºî¤¹¤ë¡¡¡¼Select ¥á¥½¥Ã¥É¡¼


¡¡Where ¥á¥½¥Ã¥É¤ÈƱ¤¸¤¯ÉÑÈˤËÍøÍѤµ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£

¡¡¥³¥ì¥¯¥·¥ç¥óÆ⤫¤éÆÃÄê¤Î¾ò·ï¤òËþ¤¿¤¹Í×ÁǤÀ¤±¤ò¼è¤ê½Ð¤¹µ¡Ç½¤Ç¤¹¡£
¤Þ¤¿¡¢¼è¤ê½Ð¤¹¤ÈƱ»þ¤Ë¡¢¤½¤ÎÍ×ÁǤò²Ã¹©¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£

¡¡Select ¥á¥½¥Ã¥É¤Ç¹Ô¤¦¡¢¥Ç¡¼¥¿¤Î½¸¤Þ¤ê¤«¤éɬÍפʹàÌܤÀ¤±¤ò¼è¤ê½Ð¤¹¤³¤È¤ò¼Í±Æ(¤·¤ã¤¨¤¤)½èÍý¤È¤¤¤¤¤Þ¤¹¡£

¡¡¤½¤ì¤Ç¤Ï½¾Íè¤Î½èÍý¤«¤é¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Þ¤¹¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> squaredNumbers = new ();

foreach(int num in numbers){
    squaredNumbers.Add(num * num);
}

¡¡¤³¤³¤Ç¤Ï¡¢¥ê¥¹¥ÈÆâ¤Î³ÆÍ×ÁǤòÆó¾è¤·¤Æ¿·¤·¤¤¥ê¥¹¥È¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£



¡¡¤½¤ì¤Ç¤Ï¤³¤Î½èÍý¤ò LINQ ¤ò»È¤Ã¤¿¡¢Select ¥á¥½¥Ã¥É¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤­¤Þ¤¹¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> squaredNumbers = numbers.Select(num => num * num).ToList();

¡¡Select()¥á¥½¥Ã¥É¤Ï³ÆÍ×ÁǤòÁàºî¤·¡¢¤½¤Î·ë²Ì¤òÊÖ¤·¤Þ¤¹¡£
¤Þ¤¿¡¢·ë²Ì¤ò¿·¤·¤¤¥ê¥¹¥È¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë Where ¥á¥½¥Ã¥É¤Î¤È¤­¤ÈƱ¤¸¤è¤¦¤Ë¡¢ToList()¤ò»ÈÍѤ·¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
MicroSoft
Enumerable.Select ¥á¥½¥Ã¥É



­£¥³¥ì¥¯¥·¥ç¥ó¤ÎÍ×ÁǤò¥Õ¥£¥ë¥¿¥ê¥ó¥°¤·¡¢¥Õ¥£¥ë¥¿¥ê¥ó¥°·ë²Ì¤òÁàºî¤¹¤ë¡¡¡¼Where ¥á¥½¥Ã¥É¤È Select ¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤ë¡¼


¡¡¤³¤³¤Þ¤Ç¾Ò²ð¤·¤Æ¤­¤¿ Where ¥á¥½¥Ã¥É¤Ë¤è¤ë¥Õ¥£¥ë¥¿¥ê¥ó¥°¤È¡¢Select ¥á¥½¥Ã¥É¤Ë¤è¤ëÁàºî¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ç¼Â¸½¤Ç¤­¤Þ¤¹¡£

¡¡Select ¥á¥½¥Ã¥É¤âÃÙ±ä¼Â¹Ô½èÍý¤Ë¤Ê¤ë¤¿¤á¡¢Select ¥á¥½¥Ã¥É¤ÎÁ°¤ËÊ̤νèÍý(º£²ó¤Ï Where ¥á¥½¥Ã¥É)¤ò½ñ¤¯¤³¤È¤Ç¡¢
¤½¤ÎÁ°¤Î¥á¥½¥Ã¥É¤Î½èÍý¤Î·ë²Ì¤ò»È¤Ã¤Æ¡¢Select ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£

¡¡¤Þ¤º¤Ï½¾Íè¤Î½èÍý¤ò½ñ¤¤¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> results = new ();

foreach(int num in numbers){
    if(num > 2){
        results.Add(num * num);
    }
}

¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥ê¥¹¥È¤«¤é¿ôÃͤ¬2¤è¤êÂ礭¤¤Í×ÁǤò¸«¤Ä¤±¡¢¤½¤ì¤òÆó¾è¤·¤Æ¿·¤·¤¤¥ê¥¹¥È¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£



¡¡¤½¤ì¤Ç¤Ï¤³¤Î½èÍý¤ò LINQ ¤ò»È¤Ã¤Æ¡¢Where ¥á¥½¥Ã¥É¤È Select ¥á¥½¥Ã¥É¤òÁȤ߹ç¤ï¤»¤¿½èÍý¤ËÃÖ¤­´¹¤¨¤Æ¤¤¤­¤Þ¤¹¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> results = numbers.Where(num => num > 2).Select(num => num * num).ToList();

¡¡Where() ¤È Select()¤òÏ¢º¿¤·¤Æ»ÈÍѤ·¡¢¥Õ¥£¥ë¥¿¥ê¥ó¥°¤ÈÁàºî¤ò°ìÅ٤˹Ԥ¤¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Êµ­½ÒÊýË¡¤ò¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤È¤¤¤¤¡¢LINQ ¤Ë¤ª¤¤¤Æ¤ÏÈó¾ï¤ËÍøÍѤµ¤ì¤ëµ­Ë¡¤Ç¤¹¡£

¡¡¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤Îµ­½Ò¤Î¾ì¹ç¡¢£±¹Ô¤Ç½ñ¤¯¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¢¥É¥Ã¥È¤ÎÉôʬ¤Ç²þ¹Ô¤¹¤ëµ­Ë¡¤¬°ìÈÌŪ¤Ç¤¹¡£

¡¡¾åµ­¤Ç¤¢¤ì¤Ð

List<int> results = numbers.Where(num => num > 2)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.Select(num => num * num)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.ToList();

¡¡¤³¤Î¤è¤¦¤ËÃÊÍî¤òÉÕ¤±¤Æ¡¢¥á¥½¥Ã¥É¤ÎÉôʬ¤Ç²þ¹Ô¤·¤Æ½ñ¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


IEnumerable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹


¡¡LINQ¥á¥½¥Ã¥É¤Î¤Û¤È¤ó¤É¤ÏIEnumerable¤Þ¤¿¤ÏIEnumerable<T>¤òÊÖ¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤¬°ìÏ¢¤ÎÍ×ÁǤòɽ¤¹¥·¡¼¥±¥ó¥¹¤òÊÖ¤¹¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£

¡¡IEnumerable¤ÈIEnumerable<T>¤Ï¡¢.NET¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢¥³¥ì¥¯¥·¥ç¥ó¤¬·«¤êÊÖ¤·½èÍý¡Êforeach¤Ê¤É¡Ë¤Ç¤­¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢°ìÏ¢¤Î¹àÌܤòÄ󶡤·¤Þ¤¹¡£

¡¡IEnumerable¤ÏÈ󥸥§¥Í¥ê¥Ã¥¯¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢Ç¤°Õ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥·¡¼¥±¥ó¥¹¤òɽ¤·¤Þ¤¹¡£
°ìÊý¡¢IEnumerable<T>¤Ï¥¸¥§¥Í¥ê¥Ã¥¯¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢ÆÃÄê¤Î·¿T¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥·¡¼¥±¥ó¥¹¤òɽ¤·¤Þ¤¹¡£

¡¡LINQ¤Î³Æ¥á¥½¥Ã¥É¤¬IEnumerable¤Þ¤¿¤ÏIEnumerable<T>¤òÊÖ¤¹Íýͳ¤Ï¡¢¤½¤ì¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¥·¡¼¥±¥ó¥¹¤ËÂФ·¤Æ¡¢¤µ¤é¤ËLINQ¥á¥½¥Ã¥É¤òŬÍѤǤ­¤ë¤«¤é¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢LINQ¥á¥½¥Ã¥É¤Î½ÐÎϤòÊ̤ÎLINQ¥á¥½¥Ã¥É¤ÎÆþÎϤȤ·¤Æ»ÈÍѤǤ­¡¢¤³¤ì¤Ë¤è¤êÊ£¿ô¤ÎLINQ¥á¥½¥Ã¥É¤ò¥Á¥§¡¼¥ó¡ÊÏ¢·ë¡Ë¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤¬LINQ¤Î¶¯ÎϤÊÉôʬ¤Ç¤¢¤ê¡¢¥Ç¡¼¥¿Áàºî¤òÂçÉý¤Ëñ½ã²½¤·¤Þ¤¹¡£


¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤Ë¤Ä¤¤¤Æ


¡¡¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤È¤Ï¡¢°ìÏ¢¤Î¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¤ò°ìÅ٤˹Ԥ¦¹½Ê¸(¥·¥ó¥¿¥Ã¥¯¥¹)¤Î¤³¤È¤Ç¤¹¡£
¤³¤ì¤Ï¡¢³Æ¥á¥½¥Ã¥É¤¬¤½¤ÎÌá¤êÃÍ¡ÊÄ̾ï¤ÏƱ¤¸¥ª¥Ö¥¸¥§¥¯¥È¤Þ¤¿¤Ï¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤ËÂФ·¤Æ¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¿·¤·¤¤¥á¥½¥Ã¥É¤òÄ󶡤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡LINQ ¤Ç¤Ï¡¢¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤ÏÈó¾ï¤Ë°ìÈÌŪ¤Ç¤¹¡£
¤³¤ì¤Ï¡¢¤Û¤È¤ó¤É¤Î LINQ ¥á¥½¥Ã¥É¤¬Îóµó²Äǽ¤Ê¥³¥ì¥¯¥·¥ç¥ó¤òÊÖ¤¹¤¿¤á¡¢¼¡¤ÎÁàºî¤ò¤½¤Î·ë²Ì¤ËľÀÜÏ¢º¿¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¤é¤Ç¤¹¡£

¡¡Î㤨¤Ð¡¢°Ê²¼¤Î¥³¡¼¥É¤Ç¤ÏWhere¤ÈSelect¤Î¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£

List<int> numbers = new List<int> {1, 2, 3, 4, 5};
List<int> results = numbers.Where(num => num > 2).Select(num => num * num).ToList();

¡¡¤³¤³¤Ç¡¢numbers.Where(num => num > 2)¤ÎÉôʬ¤¬¿·¤·¤¤Îóµó²Äǽ¤Ê¥³¥ì¥¯¥·¥ç¥ó¤òÊÖ¤·¡¢¤½¤ì¤ËÂФ·¤ÆľÀÜSelect¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¡¢¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤Ë¤è¤Ã¤Æ¡¢¥³¡¼¥É¤Ï°ìÈÌŪ¤ËÆɤߤ䤹¤¯¡¢´Ê·é¤Ë¤Ê¤ê¤Þ¤¹¡£
Ê£¿ô¤ÎÁàºî¤ò°ì¹Ô¤Çɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢¤Þ¤¿¡¢°ì»þÊÑ¿ô¤òºîÀ®¤·¤ÆÁàºî¤òʬ³ä¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡¤¿¤À¤·¡¢Èó¾ï¤ËŤ¤¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤ÏµÕ¤ËÆɤߤˤ¯¤¯¤Ê¤ë¾ì¹ç¤â¤¢¤ë¤Î¤Ç¡¢Å¬ÅÙ¤ÊŤµ¤ËÊݤĤ³¤È¤¬ÂçÀڤǤ¹¡£


¥±¡¼¥¹¥¹¥¿¥Ç¥£


¡¡¥²¡¼¥àÆâ¤Ç¡¢ÆÃÄê¤Î¥¢¥¤¥Æ¥à¡ÊÎ㤨¤Ð¡¢²ÁÃͤ¬100°Ê¾å¤Î¥¢¥¤¥Æ¥à¡Ë¤ò»ý¤Ä¥­¥ã¥é¥¯¥¿¡¼Ì¾¤ò¤¹¤Ù¤Æɽ¼¨¤·¤¿¤¤¤È¤·¤Þ¤¹¡£

¡¡°Ê²¼¤Î¤è¤¦¤Ê¥¯¥é¥¹¹½Â¤¤òÁÛÄꤷ¤Þ¤¹¡£

public class Item
{
    public string Name { get; set; }
    public int Value { get; set; }
}

public class Character
{
    public string Name { get; set; }
    public List<Item> Items { get; set; }
}

¡¡¤³¤³¤Ç¤Ï¡¢Character¤Î¥ê¥¹¥È¤«¤é¡¢Ì¾Á°¤¬ÆÃÄê¤Îʸ»úÎó¤Ë°ìÃפ¹¤ëºÇ½é¤ÎCharacter¤òõ¤¹½èÍý¤ò¹Í¤¨¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï½é´ü²½¤ò¹Ô¤¤¡¢List ¤Î½àÈ÷¤òÀ°¤¨¤Þ¤¹¡£

// ¥¢¥¤¥Æ¥à¤ÎºîÀ®
Item sword = new Item { Name = "Sword", Value = 100 };
Item shield = new Item { Name = "Shield", Value = 150 };
Item potion = new Item { Name = "Potion", Value = 50 };

// ¥­¥ã¥é¥¯¥¿¡¼¤ÎºîÀ®¤È¥¢¥¤¥Æ¥à¤Î³ä¤êÅö¤Æ
Character john = new Character 
{ 
    Name = "John", 
    Items = new List<Item> { sword, shield } 
};

Character mary = new Character 
{ 
    Name = "Mary", 
    Items = new List<Item> { potion } 
};

Character tom = new Character 
{ 
    Name = "Tom", 
    Items = new List<Item> { sword, potion } 
};

// ¥­¥ã¥é¥¯¥¿¡¼¤ò¥ê¥¹¥È¤Ë³ÊǼ
List<Character> characters = new List<Character> { john, mary, tom };

¡¡¤³¤Î¾ðÊó¤òÍøÍѤ·¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏLINQ¤ò»È¤ï¤Ê¤¤½¾Íè¤ÎÊýË¡¤Ç¼ÂÁõ¤·¤Þ¤¹¡£

// ²ÁÃͤ¬100°Ê¾å¤Î¥¢¥¤¥Æ¥à¤ò»ý¤Ä¥­¥ã¥é¥¯¥¿¡¼¤Î̾Á°¤ò³ÊǼ¤¹¤ë¥ê¥¹¥È
List<string> characterNames = new ();

foreach (Character character in characters)
{
    foreach (Item item in character.Items)
    {
        if (item.Value >= 100)
        {
            characterNames.Add(character.Name);
            break;  // 1¤Ä¸«¤Ä¤«¤Ã¤¿¤é¼¡¤Î¥­¥ã¥é¥¯¥¿¡¼¤Ø
        }
    }
}

// ̾Á°¤Î¥ê¥¹¥È¤òɽ¼¨
foreach (string name in characterNames)
{
    Console.WriteLine(name);
}

¡¡¤³¤³¤Ç¤Ï¡¢foreach¤òÆó½Å¤Ë»È¤Ã¤Æ³Æ¥­¥ã¥é¥¯¥¿¡¼¤Î³Æ¥¢¥¤¥Æ¥à¤òÄ´¤Ù¡¢¤½¤Î²ÁÃͤ¬100°Ê¾å¤Î¥¢¥¤¥Æ¥à¤ò»ý¤Ä¥­¥ã¥é¥¯¥¿¡¼¤Î̾Á°¤ò¥ê¥¹¥È¤ËÄɲ䷤Ƥ¤¤Þ¤¹¡£



¡¡¤½¤ì¤ËÂФ·¤Æ¡¢LINQ¤ò»È¤¦¤È¡¢¤³¤Î½èÍý¤ÏÂçÉý¤Ë¥·¥ó¥×¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£

var characterNames = characters
    .Where(character => character.Items.Where(item => item.Value >= 100).ToList().Count > 0)
    .Select(character => character.Name);

// ̾Á°¤Î¥ê¥¹¥È¤òɽ¼¨
foreach (string name in characterNames)
{
    Console.WriteLine(name);
}

¡¡¤³¤³¤Ç¤Ï¡¢¤Þ¤ºWhere¥á¥½¥Ã¥É¤Ç³Æ¥­¥ã¥é¥¯¥¿¡¼¤¬»ý¤Ä¥¢¥¤¥Æ¥à¤ÎÃ椫¤é²ÁÃͤ¬100°Ê¾å¤Î¥¢¥¤¥Æ¥à¤òÃê½Ð¤·¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤½¤ì¤é¤Î¥¢¥¤¥Æ¥à¤Î¿ô¤¬0¤è¤êÂ礭¤¤¡Ê¤Ä¤Þ¤ê¡¢¾¯¤Ê¤¯¤È¤â1¤Ä¤Ï¸ºß¤¹¤ë¡Ë¥­¥ã¥é¥¯¥¿¡¼¤òÃê½Ð¤·¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢Select¥á¥½¥Ã¥É¤Ç¤½¤Î¥­¥ã¥é¥¯¥¿¡¼¤Î̾Á°¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£



¡¡¼¡¤Ë³Ø½¬¤¹¤ë Any ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤È¡¢¤µ¤é¤Ë¥·¥ó¥×¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£

var characterNames = characters
    .Where(character => character.Items.Any(item => item.Value >= 100))
    .Select(character => character.Name);

// ̾Á°¤Î¥ê¥¹¥È¤òɽ¼¨
foreach (string name in characterNames)
{
    Console.WriteLine(name);
}

¡¡character.Items.Any(item => item.Value >= 100) ¤Ï¡¢¥­¥ã¥é¥¯¥¿¡¼¤¬ÊÝ»ý¤¹¤ë¥¢¥¤¥Æ¥à¤ÎÃæ¤Ë²ÁÃͤ¬100°Ê¾å¤Î¤â¤Î¤¬1¤Ä¤Ç¤â¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤¬ true ¤Î¾ì¹ç¡¢¤½¤Î¥­¥ã¥é¥¯¥¿¡¼¤Ï·ë²Ì¤Î¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Þ¤¹¡£

¡¡¤³¤ÎÉôʬ¤¬¡¢Àè¤Û¤É¤È¤Ï°Û¤Ê¤ëÉôʬ¤Ç¤¹¡£


¡ãÃÙ±äɾ²Á¤È¨»þɾ²Á¡ä


¡¡INQ¥¯¥¨¥ê¤ÏÃÙ±äɾ²Á¤µ¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥¯¥¨¥ê¤¬ÄêµÁ¤µ¤ì¤ë»þÅÀ¤Ç¤Ï¥Ç¡¼¥¿¤Ï¤Þ¤À¼èÆÀ¤µ¤ì¤º¡¢¼ÂºÝ¤Ë¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¤­
¡ÊÎ㤨¤Ðforeach¥ë¡¼¥×¤ÇÁöºº¤¹¤ë¤È¤­¤ä¡¢ToList¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ê¤É¡Ë¤Ë½é¤á¤Æ¥Ç¡¼¥¿¤¬¼èÆÀ¤µ¤ì¤Þ¤¹¡£

¡¡¾åµ­¤Î var ¤Î·¿¤Ï IEnumerable<string>·¿¤Ç¤¹¤¬¡¢Ì¤³ÎÄê¤Î¾õÂ֤Ǥ¹¡£
¤³¤Î»þÅÀ¤Ç¤Ï List ¤È¤·¤ÆÍøÍѤ·¤Ê¤¤¤¿¤á¡¢Select ¥á¥½¥Ã¥É¤Î¤¢¤È¤Ë ToList ¥á¥½¥Ã¥É¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¡¡¤³¤Î¾ì¹ç¡¢¼¡¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë foreach ¥á¥½¥Ã¥ÉÆâ¤ÇÊÑ¿ô¤¬¼ÂºÝ¤ËÍøÍѤµ¤ì¤ëºÝ¤Ë¡¢ÃÙ±äɾ²Á¤µ¤ì¤Æ¡¢¤½¤Î»þÅÀ¤Ç List<string>¤È¤·¤Æ¼èÆÀ¤µ¤ì¤Þ¤¹¡£

¡¡¤½¤Î¤è¤¦¤Ë¤·¤Æ½èÍý¤Î±¿ÍѤ˹ç¤ï¤»¤Æ·¿¤ò³ÎÄꤷ¤Æ¤¤¤­¤¿¤¤¤¿¤á¡¢Àë¸À¤Î»þÅÀ¤Ç¤Ï var ¤È¤·¤Æ¤¤¤Þ¤¹¡£



¡¡¤·¤«¤·¡¢¥Ç¡¼¥¿¤Î¼èÆÀ¤ò¤¹¤°¤Ë¹Ô¤¤¤¿¤¤¡¢¤Þ¤¿¤Ï¥¯¥¨¥ê·ë²Ì¤ò¥ê¥¹¥È¤È¤·¤Æ°·¤¤¤¿¤¤¾ì¹ç¤Ï¡¢ToList¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¤½¤ì¤ò¼Â¸½¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥¯¥¨¥ê·ë²Ì¤Ï¤¹¤°¤Ëɾ²Á¤µ¤ì¡¢¤½¤Î·ë²Ì¤¬List<string>¤È¤·¤ÆÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤ÎÁàºî¤Ï¨»þɾ²Á¤È¸Æ¤Ð¤ì¤Þ¤¹¡£

List<string> characterNames = characters
    .Where(character => character.Items.Any(item => item.Value >= 100))
    .Select(character => character.Name)
    .ToList();

¡¡¤·¤¿¤¬¤Ã¤Æ¡¢ToList¤ò¸Æ¤Ó½Ð¤¹¤«¤É¤¦¤«¤Ï¡¢¤½¤Î»þÅÀ¤Ç¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ë¤«¡¢¤Þ¤¿¤Ï¥ê¥¹¥È¤È¤·¤Æ°·¤¤¤¿¤¤¤«¤É¤¦¤«¤Ë¤è¤ê¤Þ¤¹¡£



¡¡¡¡=>¡¡´û¸¤Î½èÍý¤ò¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤·¤Æ³Ø¤Ö LINQ ³èÍÑÎã­¢

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹