The null conditional operator can be used to skip method calls on a null target. Would the method arguments be evaluated or not in that case?
For example:
myObject?.DoSomething(GetFromNetwork());
Is GetFromNetwork
called when myObject
is null
?
They will not be evaluated.
class C
{
public void Method(int x)
{
Console.WriteLine("Method");
}
}
static int GetSomeValue()
{
Console.WriteLine("GetSomeValue");
return 0;
}
C c = null;
c?.Method(GetSomeValue());
This does not print anything. Resharper marks the evaluation of GetSomeValue()
as dead code:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With