Should we check if variable is null before setting it to null?
if (MyBills != null)
{
MyBills = null;
}
For, example, in a Java related question the performance implications are minimal.
Is this the case in C#? Other implications?
Testing
I've created the following code to test:
var watch = System.Diagnostics.Stopwatch.StartNew();
int iterations = int.MaxValue;
List<int> myBills= null;
for (var i = 0; i < iterations; i++)
{
if (myBills!= null)
{
myBills = null;
}
}
watch.Stop();
var elapsedMs = watch.ElapsedMilliseconds;
Console.WriteLine(elapsedMs);
Running it on rextester with and without the if (myList != null)
the results are as following:
With check Without check
988 941
938 1021
953 987
998 973
1004 1031
Average
976.2 990.6
So, even testing it in a non-controlled environment, the performance implications are irrelevant.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…