æéã¯éãããŠããŸããã匷åãªã¢ããªã±ãŒã·ã§ã³ãéçºããããšèããããžãã¹ããŒãœã³ã«ãšã£ãŠã.NETãã©ãããã©ãŒã ãšC#èšèªãéµãæ¡ã£ãŠããŸãããã®èšäºã§ã¯ãC#ã®åºç€ãã.NETã®ææ°ååãŸã§ãããã10åã§èŠç¹ãæŒãããŸãããŸãã¯C#èšèªã®æŽå²ãš.NETãã©ãããã©ãŒã ã®åºæ¬ã解説ãããã®äžã§éçºç°å¢ã®èšå®ããå®çšçãªããã°ã©ã æ§é ã®æ§ç¯æ¹æ³ãŸã§ãæ¡å ããŸãããŸãããªããžã§ã¯ãæåã®ååãåãå ¥ããå¹ççãªã³ãŒãã®æžãæ¹ããã.NETãã¬ãŒã ã¯ãŒã¯ã®åŒ·åãªæ©èœãŸã§ãæãäžããæçµçã«ã¯.NETã³ãã¥ããã£ã§åŸããããµããŒããšãªãœãŒã¹ãã玹ä»ããããšã§ãèªè ã®çæ§ã®æè¡çãã£ãªã¢ãå éããããæäŒããããŸãã
1. .NET (C#)ãšã¯äœãïŒ
.NETã¯ãã€ã¯ããœãããéçºãããœãããŠã§ã¢ãã¬ãŒã ã¯ãŒã¯ã®äžã€ã§ãããèšèªéã®çžäºéçšæ§ãç¹åŸŽã§ããC#ïŒCã·ã£ãŒãïŒã¯.NETãã¬ãŒã ã¯ãŒã¯ã§äœ¿çšãããããã°ã©ãã³ã°èšèªã®äžã€ã§ãããå¹ åºãã¢ããªã±ãŒã·ã§ã³ãéçºããããã®ç°å¢ãæäŸããŸãã
ãã®ãã©ãããã©ãŒã ã¯ãWebã¢ããªã±ãŒã·ã§ã³ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ããããŠã¯ã©ãŠãããŒã¹ã®ãµãŒãã¹ã«è³ããŸã§ãæ§ã ãªçš®é¡ã®ãœãããŠã§ã¢éçºã«äœ¿çšããããšãã§ããŸãããã®å€æ§æ§ãšå åºãªã»ãã¥ãªãã£ãé«æ§èœãéçºè éã«éžã°ããçç±ãšãªã£ãŠããŸãã
.NETãã¬ãŒã ã¯ãŒã¯ã¯ãå ±éèšèªã©ã³ã¿ã€ã (CLR)ãšåŒã°ããå®è¡ç°å¢ãšãã¯ã©ã¹ã©ã€ãã©ãªã®éåäœã§æ§æãããŠããŸããå ±éèšèªã©ã³ã¿ã€ã ã¯ããã°ã©ã ã®å®è¡ã管çããã¯ã©ã¹ã©ã€ãã©ãªã¯è±å¯ãªäºãå®çŸ©ãããæ©èœãæäŸããããšã§ãå¹ççãªéçºãå©ããŸãã
1.1 C#èšèªã®æŠèŠãšæŽå²
C#èšèªã¯ããã€ã¯ããœããã«ãã2000幎代åé ã«å°å ¥ãããŸãããããã¯ãªããžã§ã¯ãæåããã°ã©ãã³ã°ãæ¯æŽããJavaãC++ãªã©ã®ä»ã®èšèªã®è¯ãç¹ãçµã¿åãããããå®å šã§èªã¿ãããã³ãŒããæžãããã®æ©èœãåãã£ãŠããŸãã
C#ã¯.NETãšå ±ã«é²åããŠããŸãããåæã®ããŒãžã§ã³ã¯ãã¹ã¯ãããç°å¢ãäžå¿ã«èšèšãããŠããŸãããããã®åŸã®ã¢ããããŒããéããŠãŠã§ãããµãŒããŒãã¢ãã€ã«ç°å¢ã«ã察å¿ããŠããã®ã§ããC#ã®å ç¢ããã¹ã±ãŒã©ããªãã£ããããŠæè»æ§ãå€ãã®éçºè ããè©äŸ¡ãããŠããŸãã
æè¿ã§ã¯ã.NET Coreãšããã¯ãã¹ãã©ãããã©ãŒã 察å¿ã®æ°ãããã¬ãŒã ã¯ãŒã¯ã«å¯Ÿå¿ãããã®äººæ°ã¯ããã«é«ãŸããŸãããC#ã¯ãã€ã¯ããœããã®åŒ·åãªããã¯ã¢ãããåããŠãããå°æ¥ã«ããã£ãŠéèŠãªèšèªã§ããç¶ããããšãäºæ³ãããŸãã
1.2 .NETãã©ãããã©ãŒã ã®åºæ¬
.NETãã©ãããã©ãŒã ã¯ãå€çš®å€æ§ãªã¢ããªã±ãŒã·ã§ã³ãéçºããããã®äžé£ã®ããŒã«ãã©ã€ãã©ãªãã©ã³ã¿ã€ã ç°å¢ãæäŸããŸããWindowsã¯ããšãããLinuxãmacOSäžã§ã皌åãã.NET Coreã®å°å ¥ã«ãããå šãŠã®äž»èŠãªãã©ãããã©ãŒã ã§ã®éçºãå¯èœãšãªããŸããã
ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ãVisual Studioãšããçµ±åéçºç°å¢ (IDE) ã«ãã£ãŠãµããŒããããŠããŸããVisual Studioã¯ãããã°ãã³ãŒã管çãUIãã¶ã€ã³ãªã©éçºè ãå¿ èŠãšããããŸããŸãªæ©èœãæäŸãããããžã§ã¯ãã®çç£æ§ãæ Œæ®µã«åäžãããŸãã
ãŸãã.NETã¯ä¿¡é Œæ§ã®é«ãã¡ã¢ãªç®¡çãäŸå€åŠçæ©èœãæã£ãŠãããéçºè ãç ©éãªäœæ¥ã«éäžããããšãªããããžãã¹ããžãã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®æ§ç¯ã«å°å¿µã§ããç°å¢ãçšæããŠããŸãã
1.3 .NETã®äž»èŠããŒãžã§ã³ãšãã®ç¹åŸŽ
ãã€ã¯ããœããã¯.NETã®ããã€ãã®äž»èŠãªããŒãžã§ã³ããªãªãŒã¹ããŠããŸãããåããŒãžã§ã³ã¯ãæ§èœåäžãæ©èœè¿œå ãã»ãã¥ãªãã£åŒ·åãšãã£ãæ¹åããããŠãããŸãããå€ãããŒãžã§ã³ã®.NET Frameworkãããããã¢ãã³ã§ã¯ãã¹ãã©ãããã©ãŒã ãª.NET Coreãžã®ç§»è¡ãé²ãã§ããŸãã
.NET Coreã®ç»å Žã¯ããã€ã¯ããœããã®éçºãã©ãããã©ãŒã ã®éèŠãªãã€ã«ã¹ããŒã³ã§ããããªãŒãã³ãœãŒã¹åãã¯ãã¹ãã©ãããã©ãŒã 察å¿ããã®äž»èŠãªç¹åŸŽã§ããããã«ãããéçºè ã¯Windows以å€ã®OSã§.NETã¢ããªã±ãŒã·ã§ã³ãéçºãããããã€ã§ããããã«ãªããŸããã
ããã«ããªãŒãã³ãœãŒã¹åã«ããã³ãã¥ããã£ã®è²¢ç®ãšãµããŒãã¯ããã¬ãŒã ã¯ãŒã¯ã®éçºé床ãšã€ãããŒã·ã§ã³ãä¿é²ããŠããŸããããã¯.NETã®å°æ¥æ§ãããé®®æã«ããå€ãã®éçºè ã«å®å¿ãäžããèŠçŽ ãšãªã£ãŠããŸãã
1.4 ãã€ã¯ããœããã®.NETçµ±åæŠç¥
ãã€ã¯ããœããã¯.NETãäžå¿ãšãããœãããŠã§ã¢éçºã®æšæºåãé²ããŠããŸãããããã«ãããç°ãªã.NET補åéã§ã®äºææ§ãé«ãŸããéçºè ã¯è€æ°ã®ãã©ãããã©ãŒã ã«å¯ŸããŠäžè²«ããéçºäœéšãåŸãããšãã§ããŸãã
çµ±åæŠç¥ã®äžç°ãšããŠããã€ã¯ããœããã¯.NET 5ã®ãªãªãŒã¹ãçºè¡šããŸãããããã«ããã.NET Frameworkã.NET CoreããããŠXamarinãäžã€ã®ãã©ãããã©ãŒã ã«çµ±åãããããã·ã³ãã«ã§åŒ·åãªéçºäœéšãæäŸããããšãç®æããŠããŸãã
çµ±åããã.NETãã©ãããã©ãŒã ã¯ãäŒæ¥ãè€æ°ã®æè¡ã¹ã¿ãã¯ã管çããæéãæžãããçç£æ§ãåäžãããå©ããšãªããŸããããã«ããã.NETã¯çŸä»£ã®ãœãããŠã§ã¢éçºã§ããã«åŒ·åãªååšæã瀺ãã§ãããã
2. .NET (C#)ã®éçºç°å¢æ§ç¯
.NETã¯ããã€ã¯ããœãããéçºããã¢ããªã±ãŒã·ã§ã³éçºã®ãã©ãããã©ãŒã ã§ããC#ïŒã·ãŒã·ã£ãŒãïŒã¯.NETç°å¢äžã§åäœããããã°ã©ãã³ã°èšèªã®ã²ãšã€ã§ããªããžã§ã¯ãæåã®åŒ·åãªèšèªã§ãã.NETã®éçºç°å¢ãæ§ç¯ããããã«ã¯ãããã€ãã®ããŒã«ãå¿ èŠãšãªããŸãã
éçºã«å¿ èŠãªããŒã«ã®ã»ããã¢ããããã»ã¹ã¯ãéåžžã«ã·ã³ãã«ã§çŽæçã§ããããããæé©ãªéçºç°å¢ãäœãããã«ã¯ãé©åãªãœãããŠã§ã¢ãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããããã解説ããVisual Studioã.NET SDKãNuGetãªã©ã®ããŒã«ã¯ã.NETãC#ã§éçºãå§ããããã®åºç€ãšãªããã®ã§ãã
ãããã®ããŒã«ãã»ããã¢ããããæåã®ãããžã§ã¯ããäœæããããšã§ã.NETãã©ãããã©ãŒã ã«ãããã¢ããªã±ãŒã·ã§ã³éçºã®æ ãå§ãŸããŸããããŒã«ã®éžæãã€ã³ã¹ããŒã«ããã»ã¹ããã£ãããšç解ããŸãããã
2.1 Visual Studioãšã¯
Visual Studioã¯ãã€ã¯ããœãããæäŸããçµ±åéçºç°å¢ïŒIDEïŒã§ã.NETã¢ããªã±ãŒã·ã§ã³ãã¯ãããšããå€ãã®èšèªã§ã®éçºã«å¯Ÿå¿ããŠããŸããVisual Studioã®åŒ·åãªãããã°ããŒã«ãã³ãŒããšãã£ã¿ãŒããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãã¶ã€ããŒãªã©ã®æ©èœã¯éçºãå¹ççãã€çç£çã«é²ããããã«äžå¯æ¬ ã§ãã
ç¡æã§å©çšã§ããVisual Studio Communityããããããã§ãã·ã§ãã«éçºãç®æãå人ãããŒã åãã®Visual Studio ProfessionalããããŠæãé«åºŠãªæ©èœãæã€Visual Studio EnterpriseãŸã§ãçšéã«å¿ããè€æ°ã®ãšãã£ã·ã§ã³ãååšããŸããå人éçºè ãæè²ç®çã§ããã°Communityçããããé«åºŠãªæ©èœãå¿ èŠãªå Žåã¯ProfessionalãEnterpriseãæ€èšããŸãããã
Visual Studioã¯é »ç¹ã«æŽæ°ãããŠãããæ°ãããã¬ãŒã ã¯ãŒã¯ãèšèªã®æ©èœãµããŒããªã©ãææ°ã®éçºããŒãºã«å¿ããããã®æ©èœè¿œå ãè¡ãããŠããŸããæ¯æ¥ã®ããã«é²åããéçºç°å¢ã®äžã§ãVisual Studioã¯ããªãã®åŒ·åãªããŒãããŒãšãªãã§ãããã
2.2 .NET SDKã®ã€ã³ã¹ããŒã«
.NET SDKïŒSoftware Development KitïŒã¯ã.NETã¢ããªã±ãŒã·ã§ã³ãéçºããããã«å¿ èŠãªã©ã€ãã©ãªãšã³ãã³ãã©ã€ã³ããŒã«ãå«ãã§ããŸãã.NET Coreã.NET 5以éã®ããŒãžã§ã³ã察象ãšããã¯ãã¹ãã©ãããã©ãŒã ãªéçºãå¯èœã«ãªããããWindowsã ãã§ãªããmacOSãLinuxã§ã®éçºã«ã察å¿ããŠããŸãã
.NET SDKã®ã€ã³ã¹ããŒã«ã¯ããã€ã¯ããœããã®å ¬åŒãµã€ãããã€ã³ã¹ããŒã©ãããŠã³ããŒãããŠå®è¡ããããšã§ç°¡åã«è¡ããŸããéäžã§ããã³ããã«åŸã£ãŠãªãã·ã§ã³ãéžæããã€ã³ã¹ããŒã«ããã»ã¹ãå®äºãããŠãã ãããã€ã³ã¹ããŒã«åŸã¯ã³ãã³ãããã³ãããã¿ãŒããã«ããdotnetã³ãã³ãã䜿ã£ãŠæäœããããšãã§ããŸãã
ãŸãã.NET SDKã«ã¯ãããã©ãŒãã³ã¹ãã»ãã¥ãªãã£é¢ã§ã®æ¹åãç¶ç¶çã«è¡ãããŠãããããå®æçãªã¢ããããŒããæšå¥šãããŸãããªãªãŒã¹ãããæ°ããããŒãžã§ã³ã«ã¯æ°æ©èœãæé©åãå«ãŸããŠããããšãå€ãã®ã§ãéçºå¹çãšã¢ããªã±ãŒã·ã§ã³å質ã®åäžã®ããã«ãææ°ã®ç¶æ ãä¿ã€ããšãéèŠã§ãã
2.3 æåã®C#ãããžã§ã¯ããäœã
éçºç°å¢ã®ã€ã³ã¹ããŒã«ãå®äºããããæåã®C#ãããžã§ã¯ããäœæããŸããããVisual Studioãèµ·åããŠãæ°ãããããžã§ã¯ãã®äœæããéžã³ããããžã§ã¯ãã®ã¿ã€ããéžæããŸããConsole AppãWeb AppãClass Libraryãªã©ãç®çã«å¿ããŠé©åãªãã³ãã¬ãŒããéžã¶ããšãã§ããŸãã
C#ãããžã§ã¯ãã®äœæããã»ã¹ã¯æ¡å€ã·ã³ãã«ã§ãåºæ¬çãªã·ã§ã«ãèªåã§çæãããŸãããããžã§ã¯ãåãšä¿åå Žæãæå®ããåŸã«ãããžã§ã¯ããã³ãã¬ãŒããéžæãããšãå¿ èŠãªãã¡ã€ã«ããããžã§ã¯ããã©ã«ãã«çæããVisual Studioã§éãããŸãã
ãããããæ¬åœã®éçºã®ã¹ã¿ãŒãã§ããè¡šçŸããããœãŒã¹ã³ãŒããèŠãŠãããžãã¯ãè¿œå ããããæ©èœãæ¡åŒµãããããªãããæãæãã¢ããªã±ãŒã·ã§ã³ãå®çŸã«è¿ã¥ããŠãããŸããããåå¿è ã§ãåãããããå ¥éæžããªã³ã©ã€ã³ã®ãã¥ãŒããªã¢ã«ãè±å¯ã«ããã®ã§ããããããªãœãŒã¹ã掻çšããŠåŠç¿ãé²ããããšããå§ãããŸãã
2.4 NuGetããã±ãŒãžãããŒãžã£ãŒ
NuGetã¯.NETãã©ãããã©ãŒã ã®å ¬åŒããã±ãŒãžãããŒãžã£ãŒã§ãåå©çšå¯èœãªã³ãŒãã®ããã±ãŒãžãå ±æãçºèŠãå°å ¥ããããã®ããŒã«ã§ããåçš®ã©ã€ãã©ãªãããŒã«ããããžã§ã¯ãã«è¿œå ãããšããNuGetãå©çšããããšã§æäœæ¥ã®ãšã©ãŒãæžãããéçºã®é床ãæ Œæ®µã«ã¢ãããããããšãã§ããŸãã
NuGetã¯Visual Studioãšçµ±åãããŠãããããGUIãéããŠããã±ãŒãžã®æ€çŽ¢ãã€ã³ã¹ããŒã«ãæŽæ°ãåé€ãç°¡åã«è¡ããŸãããŸããã³ãã³ãã©ã€ã³ããŒã«ã䜿çšããããšã§ã³ãã³ãããã³ãããPowerShellãããæäœã§ããCI/CDãã€ãã©ã€ã³ãšã®é£æºãã¹ã ãŒãºã§ãã
ããã±ãŒãžã®ããŒãžã§ã³ç®¡çãéåžžã«éèŠã§ãããããžã§ã¯ãã®äŸåé¢ä¿ãé©åã«ç®¡çããããšã§ãã³ãŒãã®äºææ§ãä¿ã¡ãªããå®å®ããéçºãè¡ãããšãå¯èœã«ãªããŸããã¢ããªã±ãŒã·ã§ã³ã®èŠæš¡ã倧ãããªãã«ã€ããNuGetã®ãããªãããŒãžã£ãŒã®å©çšã¯äžå¯æ¬ ãšãªãã§ãããã
3. åºæ¬çãªC#ããã°ã©ã æ§é
ããã°ã©ã ã®äžçã«ãããŠãæ§é ã¯ç解ãã¡ã³ããã³ã¹ã容æã«ããããã«éåžžã«éèŠã§ãã.NETãã¬ãŒã ã¯ãŒã¯ã䜿çšããC#èšèªã«ãããŠãããã®ååã¯å€ãããŸããããã®ç« ã§ã¯ãC#ã§æãåºæ¬çãªããã°ã©ã æ§é ã«ã€ããŠè§£èª¬ããŸãã
è¯ãæžãããC#ããã°ã©ã ãç解ããããã«ã¯ããŸããã®æ§æèŠçŽ ãšããããã©ã®ããã«çžäºäœçšããããç解ããããšãéèŠã§ããC#ã«ãããŠãå ±éã®ããã°ã©ãã³ã°ååãé©çšãããŸãã®ã§ãä»ã®èšèªã«æ £ããŠããéçºè ã«ãšã£ãŠã銎æã¿æ·±ããã®ãå€ãã§ãããã
æ§é åãããããã°ã©ã ã¯èªã¿ããããæ©èœãè¿œå ãæãããšã©ãŒãèŠã€ããããããŸãããã®ç« ã§ã¯ãåå空éããå§ãŸã£ãŠãã¯ã©ã¹ãã¡ãœãããå€æ°ãããŒã¿åããããŠããã°ã©ã ã®å®è¡ãããŒãŸã§ã段éçã«è¿œã£ãŠãããŸãã
3.1 åå空éãšã¯
åå空éã¯C#ããã°ã©ã ã«ãããŠéèŠãªåœ¹å²ãæãããŸããããã¯ãã¯ã©ã¹ãã€ã³ã¿ãŒãã§ã€ã¹ãé¢æ°ãªã©ã®ã¡ã³ããŒãå å«ãããããã®ååãä»ã®åå空éå ã®ã¡ã³ããŒãšè¡çªããããšãªãå ±åã§ããããã«ããŸããèšãæãããšãåå空éã¯çµç¹åã®åäœã§ãã
ã³ãŒãã®ãªãŒãããªãã£ãé«ããããã«ã¯ãåå空éã䜿çšããŠé¢é£æ§ã®é«ãã¯ã©ã¹ãã¡ãœãããã°ã«ãŒãåããŸããããã«ãããæ°åè¡ã«ããããã³ãŒãã§ã管çãããããªããŸãããŸããã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããéã«ãåãååã®ã¯ã©ã¹ãè¡çªããããšãé¿ããããã«ã圹ç«ã¡ãŸãã
äŸãã°ãSystem
åå空éã¯ãC#ã®åºæ¬çãªã¯ã©ã¹ãå«ãŸããŠããŸããããã°ã©ãã¯ç¬èªã®åå空éãäœæããŠããããžã§ã¯ãç¹æã®ã¯ã©ã¹ãã¡ãœãããå¹ççã«ç®¡çã§ããŸãã
3.2 ã¯ã©ã¹ãšã¡ãœããã®å®çŸ©
C#ã¯ãªããžã§ã¯ãæåèšèªã§ãããã¯ã©ã¹ã¯ãã®äžå¿ãæãæŠå¿µã§ããã¯ã©ã¹ã¯ãªããžã§ã¯ãã®èšèšå³ãšããŠæ©èœããããããã£ããã£ãŒã«ããã¡ãœãããã€ãã³ããªã©ã®ã¡ã³ããŒãå®çŸ©ããŸãã
ã¡ãœããã¯ã¯ã©ã¹å ã«ããããç¹å®ã®åäœãæ©èœãå®è¡ããã³ãŒãã®ãããã¯ã§ããã¡ãœããã¯ãã©ã¡ãŒã¿ãåãããšãã§ããæ»ãå€ãéããŠåŒã³åºãåŽã«æ å ±ãè¿ãããšãã§ããŸããã¡ãœããã«ãã£ãŠããªããžã§ã¯ãã®ç¶æ ãå€åãããããã¯ã©ã¹ã«å±ããæ å ±ãæäœãããããããšãå¯èœã«ãªããŸãã
ã¯ã©ã¹ã¯ã€ã³ã¹ã¿ã³ã¹åãããããšã§ãªããžã§ã¯ããšããŠã®å®äœãæã¡ããã®ã€ã³ã¹ã¿ã³ã¹ãéããŠå®éã«ã¡ãœãããåŒã³åºãããšãã§ããŸããããã«ãããããã°ã©ã äžã§ããŒã¿ãæåãã«ãã»ã«åããããšãã§ããã³ãŒãã®åå©çšæ§ãšæŽçãä¿é²ãããŸãã
3.3 å€æ°ãšããŒã¿å
å€æ°ã¯ããŒã¿ãæ ŒçŽããããã®ã³ã³ããã®ãããªãã®ã§ãããã°ã©ã äžã§äœ¿çšããããŒã¿ãèå¥ããããã®ååãæã£ãŠããŸããC#ã«ã¯ãæ§ã ãªçš®é¡ã®ããŒã¿åããããããããã«å¯Ÿå¿ããå€æ°ãååšããŸãã
æŽæ°ãæµ®åå°æ°ç¹æ°ãæåãæååãªã©ãåºæ¬çãªããŒã¿åãå§ããããè€éãªæ§é äœãã¯ã©ã¹çãå€å²ã«ãããããŒã¿ã®åœ¢åŒãæ±ãããšãã§ããŸããåã®æ瀺çãªæå®ã¯ãããã°ã©ã ã®å®å®æ§ãšã¡ã³ããã³ã¹æ§ãé«ããäžã§åœ¹ç«ã¡ãŸãã
äŸãã°ãint
ã¯æŽæ°ããstring
ã¯æååãæ ŒçŽããããã®å€æ°åã§ããC#ã§ã¯ãå€æ°ã®åããã®ããŒã¿ã«å¯ŸããŠäœãã§ãããã決ãããããåãé©åã«éžã¶ããšãéåžžã«éèŠã§ãã
3.4 ããã°ã©ã ã®å®è¡ãããŒ
ããã°ã©ã ã®å®è¡ãããŒã¯ãã³ãŒããã©ã®ããã«åäœãããã決ããããã°ã©ã ã®”æµã”ã§ããããã«ã¯æ¡ä»¶åå²ãç¹°ãè¿ããã¡ãœããã®åŒã³åºããå«ãŸããŸãã
C#ã§ã¯ãif
æãswitch
æã䜿çšããŠæ¡ä»¶ã«åºã¥ããåŠçãè¡ãããšãã§ããŸãããŸããfor
ã«ãŒããwhile
ã«ãŒããdo-while
ã«ãŒãã䜿çšããŠç¹°ãè¿ãåŠçãå®è¡ããããšãã§ããŸãã
å¹ççãªå®è¡ãããŒãèšèšããããšã¯ãããã°ã©ã ã®ããã©ãŒãã³ã¹ãé«ãããŠãŒã¶ã«å¿«é©ãªäœéšãæäŸããããã«éèŠã§ããæ確ã§ç°¡æœãªãããŒå¶åŸ¡ã¯ãå¯èªæ§ãä¿å®æ§ãåäžãããããŒã ã§ã®éçºãããåæ»ã«ããŸãã
4. ãªããžã§ã¯ãæåãšC#
ãªããžã§ã¯ãæåããã°ã©ãã³ã°ã¯ããœãããŠã§ã¢éçºã®å¹çåãšå質åäžãç®çãšãããéèŠãªããã°ã©ãã³ã°ãã©ãã€ã ã§ããC#ã¯Microsoftã«ãã£ãŠéçºãããããªããžã§ã¯ãæåããã«ã«æŽ»çšããããã®èšèªã§ãããã®åŒ·åãªæ©èœã«ãããéçºè ã¯å¹ççã«å®å šãªã³ãŒããæžãããšãã§ããŸãã
C#ã§ã¯ããªããžã§ã¯ãæåã®äžå€§èŠçŽ ã§ããã«ãã»ã«åãç¶æ¿ãããªã¢ãŒãã£ãºã ã䜿çšããã³ãŒãã®åå©çšæ§ãæ¡åŒµæ§ã管çãããããé«ããããšãã§ããŸãããããã¯C#ã匷åãªããžãã¹ã¢ããªã±ãŒã·ã§ã³ãã²ãŒã ãã·ã¹ãã ããŒã«ãªã©æ§ã ãªåéã«äœ¿çšãããçç±ã®äžéšã§ãã
ãã®èšäºã§ã¯ãC#ã®ãªããžã§ã¯ãæåã®æ žãšãªãæŠå¿µã«ã€ããŠç°¡æœã«è§£èª¬ããŸããC#ã§ã®ããã°ã©ãã³ã°ãæ§ããŠããæ¹ã«ãšã£ãŠãåºæ¬äžã®åºæ¬ã10åã§ç¿åŸãã足ããããšãªãã§ãããã
4.1 ã¯ã©ã¹ãšãªããžã§ã¯ã
ã¯ã©ã¹ã¯ãªããžã§ã¯ãã®èšèšå³ã§ããC#ã«ãããŠãéçºè ã¯ã¯ã©ã¹ãå®çŸ©ããããšã§ã©ã®ãããªå±æ§ïŒãã£ãŒã«ãïŒãšåäœïŒã¡ãœããïŒããªããžã§ã¯ããæã€ããæå®ããŸããããã§ãªããžã§ã¯ããšã¯ãã¯ã©ã¹ã«åºã¥ããŠäœãããå®äœã§ãããããã°ã©ã ã§æ§ã ãªäœæ¥ãå®è¡ã§ãããã®ã§ãã
äŸãã°ãåç©åã®åç©ã管çããã·ã¹ãã ãèšè¿°ããå Žåã’Animal’ã¯ã©ã¹ãäœæããååãçš®å¥ãšãã£ãæ å ±ãšãåããé£ã¹ãã鳎ããšãã£ãåäœãå®çŸ©ããããšãã§ããŸããç¹å®ã®åç©ãããšãã°ã©ã€ãªã³ã¯ã’Animal’ã¯ã©ã¹ããçæããããªããžã§ã¯ãã§ãã
ã¯ã©ã¹ã¯åãªããã³ãã¬ãŒãã§ãããå®éã®ã¢ããªã±ãŒã·ã§ã³ã§åäœããã®ã¯ãªããžã§ã¯ãã§ããC#ã§ã¯ãªããžã§ã¯ããçæããããã«ã’new’ããŒã¯ãŒãã䜿çšããŸãããã®ã¯ã©ã¹ãšãªããžã§ã¯ãã®é¢ä¿æ§ã¯ãC#ã§ã®ãªããžã§ã¯ãæåããã°ã©ãã³ã°ã®åºç€ã圢æããŸãã
4.2 ç¶æ¿ã®æŽ»çš
ç¶æ¿ã¯ãæ¢åã®ã¯ã©ã¹ã®å±æ§ãšã¡ãœãããæ°ããã¯ã©ã¹ãåŒãç¶ãä»çµã¿ã§ããããã«ãããå ±éã®ç¹æ§ãæã€ã¯ã©ã¹ãéå±€çã«èšèšããããšãå¯èœã«ãªãããœãããŠã§ã¢ã®ä¿å®æ§ãšåå©çšæ§ãåäžããŸããC#ã§ã¯ãã·ã³ãã«ãªèšè¿°ã§ç¶æ¿ãå®è£ ã§ããŸãã
‘Animal’ã¯ã©ã¹ãåºã«ããŠã’Bird’ã’Mammal’ãšãã£ãããå ·äœçãªãµãã¯ã©ã¹ãäœæã§ããŸãããã®ãšãã’Bird’ã¯ã©ã¹ã¯’Fly’ã¡ãœãããè¿œå ã§ãããªã©ãç¹æã®æ©èœãæ¡åŒµããããšãå¯èœã§ãããŸãã’Mammal’ã¯ã©ã¹ã¯’Animal’ããã®å±æ§ãã¡ãœããããã®ãŸãŸä¿æãã€ã€ãç¬èªã®ç¹æ§ãå ããããšãã§ããŸãã
ç¶æ¿ã¯ã³ãŒãã®éè€ãé¿ããããã®åŒ·åãªæ段ã§ããããœãããŠã§ã¢ã®èšèšã«ãããŠãæè»ãªæ¡åŒµæ§ãæäŸããŸããC#ã«ããã’base()’ããŒã¯ãŒãã¯ã芪ã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºãéã«äœ¿çšãããç¶æ¿é¢ä¿ã«ããã¯ã©ã¹éã®ã³ãŒãã®æŽåæ§ãä¿ã¡ãŸãã
4.3 ã€ã³ã¿ãŒãã§ãŒã¹ãšæœè±¡ã¯ã©ã¹
ã€ã³ã¿ãŒãã§ãŒã¹ãšæœè±¡ã¯ã©ã¹ã¯ãC#ã§ã®ã³ãŒãèšèšã«ãããå¥çŽãšããŠæ©èœããŸããã€ã³ã¿ãŒãã§ãŒã¹ã¯ææ©èœãå¿ ãå®è£ ããããšãçŽæããäžæ¹ãæœè±¡ã¯ã©ã¹ã¯ããã€ãã®å®è£ ãæã¡ãªããããµãã¯ã©ã¹ã«å ·äœçãªå®è£ ã匷å¶ãããããšãã§ããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹ã¯ã’IFlyable’ã’IWalkable’ã®ããã«ç¹å®ã®åäœãè¡šãããã«äœ¿çšãããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ã¡ãœããã®ã·ã°ããã£ã®ã¿ãæäŸããå®è£ ã¯ã€ã³ã¿ãŒãã§ãŒã¹ãç¶æ¿ããã¯ã©ã¹ã«å§ããããŸããæœè±¡ã¯ã©ã¹ã¯ã’Animal’ã¯ã©ã¹ãããã«æœè±¡åãããã®ã§ããã°ã’Creature’ã¯ã©ã¹ãšãªããããããŸããã
ã©ã¡ãã®æŠå¿µããå®è£ ã®è©³çŽ°ãé èœããå®è£ ã«å¯Ÿããäžè²«æ§ã匷åããŸããC#ããã°ã©ããŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ãšæœè±¡ã¯ã©ã¹ãé©åã«çšããããšã§ãççµåã§ä¿å®ããããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãã
4.4 ããªã¢ãŒãã£ãºã ã®åºæ¬
ããªã¢ãŒãã£ãºã ã¯ãåäžã®ã€ã³ã¿ãã§ãŒã¹ã«å¯ŸããŠãè€æ°ã®åœ¢ãæ¯ãèããæäŸããèœåãæããŸããC#ã§ã¯ããã®æŠå¿µãéããŠåãã¡ãœããåŒã³åºãã«å¯ŸããŠç°ãªãã¯ã©ã¹ã®ãªããžã§ã¯ããããããåºæã®åäœãããããšãã§ããããã«ãªããŸãã
äŸãã°ã’Animal’ã¯ã©ã¹ãç¶æ¿ãããã¹ãŠã®ãªããžã§ã¯ãã«å¯ŸããŠã’MakeSound’ã¡ãœãããå®çŸ©ãããŠãããšããŸãããã®ãšããã©ã€ãªã³ãšé³¥ã®ãªããžã§ã¯ãã¯ãããããç¬èªã®é³Žã声ã’MakeSound’ãéããŠåºãããšãã§ããŸãããããããªã¢ãŒãã£ãºã ã®å žåçãªäŸã§ãã
ã¡ãœããã®ãªãŒããŒã©ã€ããã€ã³ã¿ãŒãã§ãŒã¹ã®å®è£ ãéããŠãããªã¢ãŒãã£ãºã ã¯ã³ãŒãã®æè»æ§ãé«ããŸãããŸããåãããããæœè±¡åãšå ±ã«ãC#ããã°ã©ããŒã¯ããçŽæçãªã³ãŒãèšèšãå¯èœã«ãªããŸããããªã¢ãŒãã£ãºã ã¯ãªããžã§ã¯ãæåã®æ ¹å¹¹ããªããã®ã§ãããC#ã®æ©èœã®ã²ãšã€ãšããŠéèŠèŠãããŠããŸãã
5. .NETãã¬ãŒã ã¯ãŒã¯ã®äž»èŠæ©èœ
5.1 ãã¡ã€ã«I/Oãšã·ãªã¢ã©ã€ãº
.NETãã¬ãŒã ã¯ãŒã¯ã¯å¹ççãªãã¡ã€ã«å ¥åºåïŒI/OïŒæäœããµããŒãããŠããŸãããã¡ã€ã«ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ã¯System.IOåå空éãéããŠç°¡åã«è¡ããããã¹ããã¡ã€ã«ã®èªã¿æžããããã€ããªããŒã¿ã®åŠçãŸã§å¹ åºãããŒãºã«å¯Ÿå¿ããŠããŸãã
ã·ãªã¢ã©ã€ãºãšã¯ããªããžã§ã¯ãã®ç¶æ ãä¿åæãã¯è»¢éå¯èœãªåœ¢åŒã«å€æããããã»ã¹ã§ãã.NETãã¬ãŒã ã¯ãŒã¯ã§ã¯ãXMLããã€ããªãJSON圢åŒãªã©è€æ°ã®ã·ãªã¢ã©ã€ãºæ¹åŒããµããŒããããŠããããªã¢ãŒãåŠçãããŒã¿æ°žç¶åã®éã«éå®ãããŸãã
ãã¡ã€ã«I/Oãšã·ãªã¢ã©ã€ãºæ©èœã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿ç®¡çã«ãããŠäžæ žç圹å²ãæãããããéçºè ããããã®æ©èœãç¿åŸããããšã¯æ¬ ãããŸããã
5.2 LINQã®å°å ¥
LINQïŒLanguage Integrated QueryïŒã¯ãã³ã¬ã¯ã·ã§ã³ã«å¯ŸããŠçŽæçãã€å®£èšçãªã¯ãšãªãå®è¡ã§ãããéåžžã«åŒ·åãªæ©èœã§ããããã«ãããããŒã¿ããŒã¹ã¯ãã¡ãããXMLããã¥ã¡ã³ãããªããžã§ã¯ãã³ã¬ã¯ã·ã§ã³ã«å¯ŸããŠãåäžã®ã¯ãšãªæ§æã䜿ã£ãŠã¢ã¯ã»ã¹ãå¯èœã«ãªããŸãã
LINQã䜿çšããããšã§ãã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžããéçºã®å¹çãå€§å¹ ã«æ¹åã§ããŸãããŸããLINQã¯åŒ·åãªã¿ã€ãã»ãŒãã§ãããã³ã³ãã€ã«æã«ãšã©ãŒãæ€åºããããšãå¯èœã§ãã
ããŒã¿æäœã®äžè²«æ§ãšã³ãŒãã®ãšã¬ã¬ã³ãããæäŸããLINQã¯ããããã.NETéçºè ãç¿åŸãã¹ãäžå¯æ¬ ãªããŒã«ã®äžã€ã§ãã
5.3 äŸå€åŠç
å ç¢ãªã¢ããªã±ãŒã·ã§ã³ãéçºããã«ã¯ãäŸå€åŠçãéèŠã§ãã.NETãã¬ãŒã ã¯ãŒã¯ã§ã¯ãtryãcatchãfinallyãããã¯ã䜿çšããŠäŸå€ãææããé©åã«åŠçããã¡ã«ããºã ãæäŸããŠããŸãã
äŸå€åŠçã§ã¯ãå®è¡æã«çºçãããšã©ãŒãæããŠãããã°ã©ã ãã¯ã©ãã·ã¥ããããšãªãé©åãªãã£ãŒãããã¯ãæäŸããããšãå¯èœã«ãªããŸããããã«ããããšã³ããŠãŒã¶ãŒã«ãšã£ãŠèŠªãã¿ãããã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸãã
.NETã«ãããå¹æçãªäŸå€åŠçãã¯ããã¯ãç¿åŸããããšã¯ãéçºè ãçç£æ§ãšã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãé«ããããã«éèŠã§ãã
5.4 éåæããã°ã©ãã³ã°
ã¬ã¹ãã³ã·ããªã¢ããªã±ãŒã·ã§ã³ãéçºããããã«ã¯ãéåæããã°ã©ãã³ã°ãæ¬ ãããŸããã.NETãã¬ãŒã ã¯ãŒã¯ã¯ãasyncãšawaitããŒã¯ãŒãã䜿çšããã¿ã¹ã¯ããŒã¹ã®éåæãã¿ãŒã³ãå®è£ ããããšã§ããã®èŠæ±ã«å¿ããŠããŸãã
éåæããã°ã©ãã³ã°ãæ¡çšããããšã§ãé·æéå®è¡ãããåŠçãUIã®å¿çæ§ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã劚ããªãããã«ããããšãã§ããŸããããã¯ç¹ã«ãããã¯ãŒã¯ãªã¯ãšã¹ãããã¡ã€ã«I/Oæäœãªã©ãæéããããå¯èœæ§ã®ããã¿ã¹ã¯ã«ãããŠéèŠã§ãã
ç°¡æœã§å¹ççãªã³ãŒãã£ã³ã°ãå¯èœãšããéåæããã°ã©ãã³ã°ã®æŠå¿µãææ¡ããé©çšããããšã¯çŸä»£ã®ãœãããŠã§ã¢éçºã«ãããŠäžå¯æ¬ ã§ãã
6. .NET (C#)ã«é¢ããææ°ååãšã³ãã¥ããã£
éçºè ã³ãã¥ããã£ã¯åžžã«é²åãç¶ãããã¯ãããžãŒãšå ±ã«æ©ã¿ã.NET (C#)ãäŸå€ã§ã¯ãããŸããã.NETã¯ãã€ã¯ããœããã«ãã£ãŠéçºãããããã°ã©ãã³ã°ãã¬ãŒã ã¯ãŒã¯ã§ããããã®æŽå²ã¯æ°ã ã®ããŒãžã§ã³ã¢ãããçµãŠããŸããããã®ã»ã¯ã·ã§ã³ã§ã¯ããªãŒãã³ãœãŒã¹ã®ååãæ°ããªãã¬ãŒã ã¯ãŒã¯ã®ãªãªãŒã¹ããããŠã³ãã¥ããã£ã«ã€ããŠç°¡æœã«è§£èª¬ããŸãã
æå 端ã®ãã¬ãŒã ã¯ãŒã¯ãšãã®æ©èœãžã®ç解ã¯ãå¹æçãªãœãããŠã§ã¢éçºã«ãããŠäžå¯æ¬ ã§ãã.NETã®æ§ã ãªçããªãªãŒã¹ãããäžãã©ã®ããã«ããŠéçºè ããããã®å€åã«é©å¿ããæ°ããæè¡ãåãå ¥ããŠããã®ããèŠãŠãããŸãããã
ããã«ããªãŒãã³ãœãŒã¹ãžã®åãçµã¿ã.NET Foundationã®åœ¹å²ã.NETã³ãã¥ããã£ãããã°ã©ããŒã®ãã£ãªã¢ã«åãŒã圱é¿ããããŠèªèº«ã®ã¹ãã«ãåäžãããããã®ãªãœãŒã¹ãšåŠç¿ã³ãŒã¹ã«ã€ããŠãæ¢ã£ãŠãããŸãã
6.1 .NET 6ãš.NET MAUI
.NET 6ã¯é©æ°çãªæ©èœãšããã©ãŒãã³ã¹ã®æé©åãå«ãŸããéçºè ã«æ°ããå¯èœæ§ãæäŸããŠããŸããçµ±åãããéçºäœéšãæäŸããããšã§ãããŸããŸãªãã©ãããã©ãŒã ã«ãããã¢ããªã±ãŒã·ã§ã³éçºãäžå±€ã¹ã ãŒãºã«ããŸããã
.NET Multi-platform App UI (.NET MAUI) ã¯ããã®åã®éããã«ããã©ãããã©ãŒã 察å¿ã®UIãã¬ãŒã ã¯ãŒã¯ã§ãã¢ãã€ã«ãšãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®éçºãåäžã®ã³ãŒãããŒã¹ã§å®è¡ããããšãå¯èœã§ããããã¯éçºè ã«ãšã£ãŠã倧å€é åçãªéžæè¢ãšãªã£ãŠããŸãã
.NET MAUIã¯ãXamarin.Formsã®åŸç¶ãšããŠäœçœ®ã¥ãããããã匷åãããããã©ãŒãã³ã¹ãšãã¢ãã³ãªAPIèšèšãå®çŸããŠããŸããUIã³ã³ããŒãã³ãã®åå©çšãšã¢ãããã£ããªã¬ã€ã¢ãŠããå¯èœã§ãäžè²«æ§ã®ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã¯ãã¹ãã©ãããã©ãŒã ã§å±éã§ããç¹ãç¹åŸŽã§ãã
6.2 ãªãŒãã³ãœãŒã¹ãš.NET Foundation
.NETãã¬ãŒã ã¯ãŒã¯ã®ãªãŒãã³ãœãŒã¹åã¯ãããåºç¯ãªéçºè ã®ã³ã©ãã¬ãŒã·ã§ã³ãšã€ãããŒã·ã§ã³ãä¿é²ããéèŠãªã¹ãããã§ããããœãŒã¹ã³ãŒããå ¬éãããããšã«ãããæ©èœæ¡åŒµãã«ã¹ã¿ãã€ãºãå¯èœã«ãªããéææ§ãé«ãŸããŸããã
.NET Foundationã¯ããªãŒãã³ãœãŒã¹ã®.NETã³ãã¥ããã£ãæ¯æŽããå¥å šãªãšã³ã·ã¹ãã ãç¶æããããã«èšç«ãããŸããããã¡ãŠã³ããŒã·ã§ã³ã¯ãããžã§ã¯ãã®ã¬ããã³ã¹ãã³ã³ããªãã¥ãŒã¿ãŒãžã®ãµããŒãããããŠæè²ã€ãã·ã¢ãããæäŸããŠããã.NETæè¡ã®æªæ¥ã圢æããŠããŸãã
ãã®çµç¹ã¯ãŸããå€æ§ãªã³ãã¥ããã£ãã«ãã£ã³ã°ã€ãã³ããéå¬ãã.NETããããããŒéã®ååãšå¯Ÿè©±ãä¿ããææ°ã®ããŒã«ããã©ã¯ãã£ã¹ã®å ±æã®å ŽãæäŸããŠããŸãã
6.3 .NETã³ãã¥ããã£ã®åœ¹å²
.NETã³ãã¥ããã£ã¯ãçµéšè±å¯ãªããããåŠçãŸã§ãå¹ åºãå±€ãå«ãã§ãããçžäºãµããŒããšç¥èã®å ±æãæ žãšããŠããŸããã³ãã¥ããã£ã¯ãæ°ããæè¡ã®æ¡çšã«åœãã£ãŠéçºè ã«ãšã£ãŠéåžžã«æçãªãªãœãŒã¹ã§ãã
ãã©ãŒã©ã ããã£ã¹ã«ãã·ã§ã³ã°ã«ãŒããã¡ãŒãªã³ã°ãªã¹ãããœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã¯ãçåã解決ãããã¢ããã€ã¹ãåŸããããããã®äž»èŠãªã³ãã¥ãã±ãŒã·ã§ã³æ段ãšãªã£ãŠããŸããããããã€ã³ã¿ã©ã¯ãã£ããªãããã¯ãŒã¯ãéããŠãç¥èãèç©ãããæ¡æ£ãããŠãããŸãã
ããã«ãããŒãã¢ãããã«ã³ãã¡ã¬ã³ã¹ã¯ãªã¢ã«ã¿ã€ã ã§ã®åŠç¿ããã³ãããã¯ãŒãã³ã°ã®ãã£ã³ã¹ãæäŸããã³ãã¥ããã£å士ã®çµã匷åãã圹å²ãæãããŠããŸãã
6.4 ãªãœãŒã¹ãšåŠç¿ã³ãŒã¹ã®çŽ¹ä»
.NETã®ã¹ãã«ãåäžããããéçºè ã®ããã«ãã€ã³ã¿ãŒãããäžã«ã¯è±å¯ãªãªãœãŒã¹ãšåŠç¿ã³ãŒã¹ãçšæãããŠããŸãããããã¯åå¿è ã«ãåªããã段éçã«ç¥èãæ·±ããããšãã§ããããã«æ§æãããŠããŸãã
ãªã³ã©ã€ã³ãã¥ãŒããªã¢ã«ããäžçŽè åãã®ç·åçãªãã¬ãŒãã³ã°ããã°ã©ã ãŸã§ãæ§ã ãªã¬ãã«ã§ç¥èãç¿åŸã§ããŸããå ¬åŒããã¥ã¡ã³ãããããªãã¥ãŒããªã¢ã«ãã€ã³ã¿ã©ã¯ãã£ããªã³ãŒãã£ã³ã°ãšã¯ãµãµã€ãºãªã©ã®ãªãœãŒã¹ãçšæãããŠããç¹ãå¿åŒ·ãã
å ããŠãå€ãã®éçºè ã¯ããã°ãYouTubeãã£ã³ãã«ãéããŠå人ã®åŠç¿éçšãå ±æããŠãããããããŸãã.NETãåŠã¶éã®å®è·µçãªç¥èŠãæäŸããŠããŸããèªãã®çµéšãããšã«ãä»è ãå©ãã粟ç¥ã¯.NETã³ãã¥ããã£ã®å€§ããªç¹é·ã®äžã€ã§ãã
7. ãŸãšã
.NET (C#)ã¯ããã€ã¯ããœãããæäŸãã匷åãªããã°ã©ãã³ã°èšèªC#ãšãããããµããŒããã.NETãã©ãããã©ãŒã ã§æãç«ã£ãŠããŸããC#ã¯ãªããžã§ã¯ãæåèšèªã§ãé«ãçç£æ§ãšã»ãã¥ãªãã£ãå®çŸã.NETãã©ãããã©ãŒã ã¯æ§ã ãªã¢ããªã±ãŒã·ã§ã³éçºãå¯èœã«ããç°å¢ã§ããããžãã¹ã·ãŒã³ã§ã¯ã匷åãªéçºããŒã«Visual StudioãNuGetããã±ãŒãžãããŒãžã£ãŒãçšããŠç°å¢æ§ç¯ãè¡ããåå空éãã¯ã©ã¹ãã¡ãœãããå€æ°ãªã©ã掻çšããããã°ã©ãã³ã°ãè¡ãããŸãããªããžã§ã¯ãæåã®ã³ã³ã»ãããåºã«ããèšèšããåå©çšæ§ãšæ¡åŒµæ§ãé«ããŸãã.NETãã¬ãŒã ã¯ãŒã¯ã®äž»èŠæ©èœã¯ãã¡ã€ã«I/OãLINQãäŸå€åŠçãéåæããã°ã©ãã³ã°ã匷åããå¹ççãªã³ãŒãã£ã³ã°ãæ¯ããŸããææ°ã®.NET 6ã.NET MAUIã«ããéçºã®é²åããªãŒãã³ãœãŒã¹ã.NET Foundationã«ããã³ãã¥ããã£ã®æ¯æŽãçµãŠã.NET (C#)ã¯åžžã«é²åãç¶ããŠããŸããé¢é£ãªãœãŒã¹ãåŠç¿ã³ãŒã¹ã掻çšããŠãææ°æ å ±ããã£ããã¢ããããŠãããŸãããã