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

¥Ç¡¼¥¿·¿


¡¡null µöÍÆ·¿¤ÎÀâÌÀ¤ÎÁ°¤Ë¡¢¤Þ¤º¡¢¥Ç¡¼¥¿¤È¤·¤Æ¤Î¥Ç¡¼¥¿·¿¤Î¤³¤È¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥Ç¡¼¥¿¤ÎÆþ¤ë·¿¤Ë¤ÏÂ礭¤¯Ê¬¤±¤Æ¡¢»²¾È·¿(¥¯¥é¥¹¤Ê¤É)¤ÈÃÍ·¿(¹½Â¤ÂÎ(stract)¤Ê¤É)¤¬¤¢¤ê¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
MicroSoft
ÃÍ·¿
MicroSoft
»²¾È·¿


»²¾È·¿


¡¡ÊÑ¿ô¤ËÂФ·¤Æ¾ðÊó¤ò¥³¥Ô¡¼¤Ç¤Ï¤Ê¤¯»²¾È¤Ç´ÉÍý¤¹¤ë¤â¤Î¤Ï»²¾È·¿¤È¤¤¤¤¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¸ÇÍ­¤Î¥Ç¡¼¥¿¤Î¾¤Ë¡¢null ¤È¤¤¤¦¾ðÊó¤¬ÂåÆþ½ÐÍè¤Þ¤¹¡£
C# ¤Ç¤¢¤ì¤Ð¡¢string ·¿¡¢Unity ¤Ç¤¢¤ì¤Ð GameObject ·¿¡¢¼«ºî¤·¤¿ GameManager ¤Ê¤É¤Î¥¯¥é¥¹¤Ê¤É¤¬¥¯¥é¥¹¤Ç¤¹¡£

¡¡¤Ä¤Þ¤ê¸µ¡¹¡¢¥¯¥é¥¹¼«ÂÎ¤Ï null ¤òÂåÆþ¤Ç¤­¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤æ¤¨¤Ë Null Reference Excepton ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£


ÃÍ·¿


¡¡ÊÑ¿ô¤ËÂФ·¤Æ¾ðÊó¤ò¥³¥Ô¡¼¤·¤ÆÂåÆþ¤·¡¢¸µ¤Î¥Ç¡¼¥¿¤È¤ÏÆÈΩ¤·¤Æ´ÉÍý¤¹¤ë¤â¤Î¤ÏÃÍ·¿¤È¤¤¤¤¤Þ¤¹¡£
int ·¿¤Ê¤É¤ÎÀ°¿ô·¿¡¢float ·¿¤Ê¤É¤ÎÉâÆ°¾®¿ôÅÀ·¿¡¢Vector3 ¤Ê¤É¤Î¹½Â¤Âη¿¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤é¤ÎÃÍ·¿¤Ë¤Ï¡¢null ¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢null ¤òÂåÆþ¤·¤è¤¦¤È¤¹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢int x = null; ¤È½ñ¤¤¤Æ¤â¡¢ÂåÆþ¤Ç¤­¤Ê¤¤¤Î¤Ç¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢null ¤Î¾õÂÖ¤¬¤Ê¤¤¤Î¤Ç¡¢null ¥¨¥é¡¼¤Ï½Ð¤Þ¤»¤ó¡£

¡¡¹½Â¤ÂΤ⥯¥é¥¹¤ÈƱ¤¸¤è¤¦¤Ë¼«ºî¤Ç¤­¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¹½Â¤ÂΤò·¿¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


null µöÍÆ·¿


¡¡·¿¤ÎÀë¸À»þ¤Ë¡¢·¿Ì¾¤Î¸å¤í¤Ë ? ±é»»»Ò¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¤½¤Î·¿¤Ï null µöÍƤȤ¤¤¦·Á¼°¤Î·¿¤ÎÀë¸À¤Ë¤Ê¤ê¤Þ¤¹¡£



null µöÍÆ»²¾È·¿


  GameObject? obj;

  string? message;

¡¡¥¯¥é¥¹¤ËʬÎव¤ì¤ë¥Ç¡¼¥¿·¿¤Ï»²¾È·¿¤È¤¤¤¤¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¸ÇÍ­¤Î¥Ç¡¼¥¿¤Î¾¤Ë¡¢null ¤È¤¤¤¦¾ðÊó¤¬ÂåÆþ½ÐÍè¤Þ¤¹¡£
¤Ä¤Þ¤ê¸µ¡¹¡¢¥¯¥é¥¹¼«ÂÎ¤Ï null ¤òÂåÆþ¤Ç¤­¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤æ¤¨¤Ë Null Reference Excepton ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤áºÇ¶á¤Î C# ¤Ç¤Ï¡¢»²¾È·¿¤Ç¤¢¤ë¥¯¥é¥¹¤â¡¢? ¤òÉÕ¤±¤Æ¤¤¤ë¤È¤­¤À¤±¡¢null ¤òÂåÆþ¤Ç¤­¤ëµ¡Ç½¤¬Äɲ䵤ì¤Þ¤·¤¿¡£
¤½¤ì¤¬º£²ó¤Î string ¤Î null µöÍÆ»²¾È·¿¤Ç¤¹¡£»²¾È·¿¤Ç¤¢¤ë¥¯¥é¥¹¤Ë ? ¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢null µöÍÆ·¿¤È¤Ê¤ê¤Þ¤¹¡£
¤½¤·¤Æ¤³¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¾ì¹ç¡¢Ã±¤Ë string ¤ÈÀë¸À¤·¤¿¾ì¹ç¤Ë¤Ï¡¢null ¤¬ÂåÆþ¤Ç¤­¤Ê¤¤¾õÂ֤ˤʤê¤Þ¤¹¡£

¡¡¸µ¡¹ null ¤¬ÂåÆþ¤Ç¤­¤ë·¿¤Ç¤¢¤ë¤â¤Î¤Î¡¢¤½¤ì¤òÌÀ¼¨Åª¤Ë ? ¤òÉÕ¤±¤¿¤È¤­¤À¤± null ¤òÂåÆþ¤Ç¤­¤ë¤è¤¦¤Ë¤·¡¢
¤½¤ì°Ê³°¤Ç¤Ï»²¾È·¿¤Ç¤¢¤Ã¤Æ¤â null ¤òÂåÆþ¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢null ¥Á¥§¥Ã¥¯¤Î½èÍý¤ä¡¢
null ¥¨¥é¡¼¼«ÂΤò¤Ê¤¯¤½¤¦¡¢¤È¤¤¤¦¤Î¤¬¡¢¤³¤Î null µöÍÆ»²¾È·¿¤Î¼ñ»Ý¤Ç¤¹¡£

¡¡¤¿¤À¤·¸½ºß¤Ï¡¢¤³¤ì¤Ï¥×¥ì¥Ó¥å¡¼µ¡Ç½¤Ç¤¹¡£ºÎÍѤ·¤Æ¤â¤¤¤¤¤Ç¤¹¤¬¡¢¥¨¥é¡¼¤Þ¤ß¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
GameObject obj; ¤È½ñ¤¤¤Æ¤¢¤ë¾ì¹ç¡¢ËÜÍè¤Ê¤é¼«Æ°Åª¤Ë null ¤¬ÂåÆþ¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤¬ nullµöÍÆ»²¾È·¿¤«¤é¤ß¤ì¤Ð¥ë¡¼¥ë°ãÈ¿¤È¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¤³¤¦¤¤¤¦ÊýË¡¤¬¤¢¤ë¡¢¤È¤À¤±³Ð¤¨¤Æ¤ª¤¯¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£


»²¹Í¥µ¥¤¥È
MicroSoft
null µöÍÆ»²¾È·¿


null µöÍÆÃÍ·¿


  int? x;

  public enum StateType {
      Wait,
      Play,
      GameUp
  }

  StateType? stateType;

¡¡¹½Â¤ÂΤÏÃÍ·¿¤È¤¤¤¦¥Ç¡¼¥¿·¿¤Ç¤¹¡£¹½Â¤ÂΤˤϡ¢null ¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¡¢null ¤òÂåÆþ¤·¤è¤¦¤È¤¹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢int x = null; ¤È½ñ¤¤¤Æ¤â¡¢ÂåÆþ¤Ç¤­¤Ê¤¤¤Î¤Ç¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢null ¤Î¾õÂÖ¤¬¤Ê¤¤¤Î¤Ç¡¢null ¥¨¥é¡¼¤Ï½Ð¤Þ¤»¤ó¡£

¡¡¤Ç¤¹¤¬¾õÂ֤ˤè¤Ã¤Æ¤Ï¡¢¹½Â¤ÂΤǤ¢¤Ã¤Æ¤â¡¢null ¤È¤¤¤¦ÃͤòÂåÆþ¤·¤ÆÍߤ·¤¤¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢enum ¤Ê¤É¤Ç¤¹¡£
¤½¤Î¾ì¹ç¡¢? ¤ò¤Ä¤±¤ë¤³¤È¤Ç¡¢ËÜÍè¤Ï¸ÇÍ­¤Î¥Ç¡¼¥¿¤·¤«Æþ¤é¤Ê¤¤¹½Â¤ÂΤËÂФ·¤Æ¡¢null ¤òÂåÆþ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡int? x = null; ¤È½ñ¤±¤Ð¡¢ËÜÍè¤Ê¤é¿ô»ú¤·¤«Æþ¤é¤Ê¤¤¤Ï¤º¤Î¥Ç¡¼¥¿·¿¤Ç¤¢¤ë¹½Â¤ÂΤΠint ·¿¤Ë null ¤òÂåÆþ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤Á¤é¤ò null µöÍÆ·¿(¤¢¤ë¤¤¤Ï¡¢null µöÍÆÃÍ·¿)¤È¤¤¤¤¤Þ¤¹¡£°ÊÁ°¤Ï null µöÍÆ·¿¤È¤¤¤¨¤ÐÃÍ·¿¤·¤«¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢
C# 8.0 °Ê¹ß¤Ç¤Ï»²¾È·¿¤Ç¤ânull µöÍƤ¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢¶èÊ̤¹¤ë¤¿¤á¤ËξÊý¤Îɽ¸½¤¬¤¢¤ê¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
MicroSoft
null µöÍÆÃÍ·¿


¤Þ¤È¤á


¡¡¤³¤³¤Þ¤ÇÆɤó¤Ç¤¤¤¿¤À¤¯¤È¤ï¤«¤ë¤è¤¦¤Ë¡¢·¿¤ÎÀë¸À»þ¤Ë¡¢¤½¤Î·¿¤¬»²¾È·¿¤Ê¤Î¤«¡¢ÃÍ·¿¤Ê¤Î¤«¤Ë¤è¤ê¡¢
? ¤Î»ý¤ÄÌò³ä¤¬¡¢null µöÍÆ»²¾È·¿¤Ê¤Î¤«¡¢null µöÍÆ·¿¤Ê¤Î¤«¤Ë¶èÊ̤µ¤ì¤Þ¤¹¡£

¡¡¥×¥í¥°¥é¥à¤ÎËܼÁ¤È¤·¤Æ¡¢¥Ç¡¼¥¿¤Î·¿¤¬»²¾È·¿¤Ê¤Î¤«¡¢ÃÍ·¿¤Ê¤Î¤«¤òÍý²ò¤·¤Æ¤ª¤«¤Ê¤¤¤È¡¢¤³¤Î ? ¤ÎÉôʬ¤ÏÀµ³Î¤ËÇÄ°®½ÐÍè¤Þ¤»¤ó¡£
C# ¤Î¤è¤¤³Ø½¬¤Îµ¡²ñ¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢À§Èó¡¢Àµ³Î¤ÊÃμ±¤È¤·¤Æ½èÍý¤ò³Ð¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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