これはマイクロ最適化であるという他の回答にも同意しますが、質問に回答するために、リストを使用する場合、新しいリストはクリアよりもわずかに高速であることがわかりました。これが私のベンチマークコードです:
static void Main(string[] args)
{
var start = DateTime.Now;
List<string> lst = new List<string>();
for (int i = 0; i < 3000; ++i)
{
//lst = new List<string>();
lst.Clear();
for (int j = 0; j < 500; ++j)
{
lst.Add(j.ToString());
}
}
Console.WriteLine("{0} ms", ((DateTime.Now - start).Ticks / TimeSpan.TicksPerMillisecond));
Console.ReadLine();
}
5回の実行で、新しいリストの平均は340.8ミリ秒、クリアの平均は354.8ミリ秒でした。
ただし、この結果は非常に近いため、次のことが明らかです。
- 違いはおそらく無意味です
- 私はおそらくこのベンチマークを実行することによって私の時間を無駄にしました