0

Delphi の「ZeroMemory」プロシージャでは、2 つのパラメータを要求します。

コード例

procedure ZeroMemory(Destination: Pointer; Length: DWORD);
begin
 FillChar(Destination^, Length, 0);
end;

私はこれを作りたい、またはC#で同様のものを作りたい...だから、それらに相当するものは何ですか?

前もって感謝します!

4

4 に答える 4

1

C# でアンセーフ コードが必要になることはほとんどありません。通常、ネイティブ ライブラリと対話する場合のみ。

いくつかの低レベルのヘルパー関数としてのMarshalクラスですが、メモリをゼロにするものは知りません。

于 2011-03-18T09:34:02.150 に答える
1

まず、.Net (C# を含む) では、値の型はデフォルトでゼロであるため、ZeroMemory の一般的な用途の 1 つがなくなります。

次に、タイプ T のリストをゼロにしたい場合は、次のような方法を試してください。

void ZeroMemory<T>(IList<T> destination)
{
    for (var i=0;i<destination.Count; i+))
   {
       destination[i] = default(T);
   }
}

リストが利用できない場合は、呼び出しコードをもっと見る必要があると思います。

于 2011-03-18T09:36:08.297 に答える
0

技術的には がありますがArray.Clear、これはマネージド アレイ専用です。何をしたいですか?

于 2011-03-18T09:37:34.523 に答える