Initializing a 'var' to null
First of all: No, I believe these three calls are essentially equivalent.
Secondly: Even if there was any difference between them, it would surely be so minuscule that it would be completely irrelevant in an application.
This is such a tiny piece of any program, that focusing on optimization here and in similar situations, will often be a waste of time, and might in some cases make your code more complicated for no good reason.
There is a longer interesting discussion about this on the programmers.stackexchange site.
I believe no, since there is no difference in compiled IL.
var x = null as object;
var x1 = (object)null;
object x2 = null;
gets compiled to
IL_0001: ldnull
IL_0002: stloc.0 // x
IL_0003: ldnull
IL_0004: stloc.1 // x1
IL_0005: ldnull
IL_0006: stloc.2 // x2
You can see all the locals are initialized to null using ldnull
opcode only, so there is no difference.