C# 11 の新機能を確認しています。目次は次の記事です。
rksoftware.hatenablog.com
今回は 「 数値 IntPtr 」。公式 Learn の記事は次です。
nint が System.IntPtr の、 nuint が System.UIntPtr のそれぞれエイリアスになったようです。
もともと、nint と書けば System.IntPtr に、 nuint と書けば System.UIntPtr になっていたので使い勝手としては変わらない、のですかね?
■ 確認
次のような感じです。
Console.WriteLine(((nint)0).GetType()); // System.IntPtr Console.WriteLine(((nuint)0).GetType()); // System.UIntPtr
※ .NET 6 でも同じ結果になります。
■ 必要な時、自然に書くと思います
この機能もあまり多くの人が使う機能ではないと思います。そして使う必要が出た際には特に迷わず書けるとも思います。必要になったら思い出しましょう。私は nint nuint が C# 9 で追加されたていたことを今思い出しました。