アプリが x64 に対してビルドされている場合、System.OutOfMemoryException とタスク マネージャーで消費されるメモリを確認したいと考えています。アプリのプロパティの [ビルド] タブには、"プラットフォーム ターゲット" と "プラットフォーム" の 2 つのドロップダウンがあり、どちらも x64 に設定されています。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<long> lst = new List<long>();
while (true)
{
lst.Add(long.MaxValue);
}
}
}
}
確かに OutOfMemoryException が表示されています...しかし、停止すると、タスク マネージャーは 1587443K のような数値を表示します。これは、x86 に対してビルドされた場合に予想される 1.5 GB です。はい、オペレーティング システムは 64 ビットです。
私は何か他のものを忘れていますか?