According to SamNg, C # parameters are compiled by default on the call site , similar to the default parameters in C ++.
Yes, this will cause version issues. However, optional parameters should be used where it makes sense. In many cases, this means passing null or the default class to a method or constructor.
source share