IntPtr型
これは「ポインタ」や「(実態がポインタである)ハンドル」を指し示すことに一番利用されます。
Windows APIには、「ハンドル」などもよく出てきますが、それらも実態はポインタですので、
「IntPtr」はDllImport周りでは頻発することとなります。
しかし、そういったポイント系の使い方だけではなく、
「x86なら32bit」「x64なら64bit」である、という性質を利用して「OSのビット数に応じて変化する数値」として
IntPtr型が利用するシーンもあります。
又、C#9.0以降は、この「数値としての利用」にフォーカスを当てて、「nint」という型が導入されました。
コンパイル時には、「nint」は「IntPtr」へと変換されますが、C#で記述する上では、
数値計算などにおいて、キャストが不要となり、扱いやすくなっています。