Latest results in .NET 9, C# 13. Use myList[0]
.
The code:
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
namespace Benchmarks
{
public class ListAccessBenchmark
{
private List<int> _myList = null!;
[GlobalSetup]
public void Setup()
{
_myList = Enumerable.Range(1, 100).ToList();
}
[Benchmark]
public int FirstLinq()
{
return _myList.First();
}
[Benchmark]
public int FirstOrDefaultLinq()
{
return _myList.FirstOrDefault();
}
[Benchmark]
public int Indexer()
{
return _myList[0];
}
}
public static class Program
{
public static void Main(string[] args)
{
BenchmarkRunner.Run<ListAccessBenchmark>();
}
}
}