ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ02·î28Æü(²Ð) 22:01:44ÍúÎò
¡¡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 µöÍƤȤ¤¤¦·Á¼°¤Î·¿¤ÎÀë¸À¤Ë¤Ê¤ê¤Þ¤¹¡£
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 µöÍÆ»²¾È·¿
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# ¤Î¤è¤¤³Ø½¬¤Îµ¡²ñ¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢À§Èó¡¢Àµ³Î¤ÊÃμ±¤È¤·¤Æ½èÍý¤ò³Ð¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯