Delphi の「ZeroMemory」プロシージャでは、2 つのパラメータを要求します。
コード例
procedure ZeroMemory(Destination: Pointer; Length: DWORD);
begin
FillChar(Destination^, Length, 0);
end;
私はこれを作りたい、またはC#で同様のものを作りたい...だから、それらに相当するものは何ですか?
前もって感謝します!
Delphi の「ZeroMemory」プロシージャでは、2 つのパラメータを要求します。
コード例
procedure ZeroMemory(Destination: Pointer; Length: DWORD);
begin
FillChar(Destination^, Length, 0);
end;
私はこれを作りたい、またはC#で同様のものを作りたい...だから、それらに相当するものは何ですか?
前もって感謝します!
C# でアンセーフ コードが必要になることはほとんどありません。通常、ネイティブ ライブラリと対話する場合のみ。
いくつかの低レベルのヘルパー関数としてのMarshalクラスですが、メモリをゼロにするものは知りません。
まず、.Net (C# を含む) では、値の型はデフォルトでゼロであるため、ZeroMemory の一般的な用途の 1 つがなくなります。
次に、タイプ T のリストをゼロにしたい場合は、次のような方法を試してください。
void ZeroMemory<T>(IList<T> destination)
{
for (var i=0;i<destination.Count; i+))
{
destination[i] = default(T);
}
}
リストが利用できない場合は、呼び出しコードをもっと見る必要があると思います。
技術的には がありますがArray.Clear
、これはマネージド アレイ専用です。何をしたいですか?