Akb*_*sha 1 c# null optional-parameters
我有一个方法具有默认值的一个可选null。我观察到,那些使用该方法的人将其null作为可选参数的值传递
主要方法
public void MainMethod(int id, MyClass model = null)
{
// Logic goes here
}
Run Code Online (Sandbox Code Playgroud)
我可以看到两种类型的调用,
public void First()
{
MainMethod(1, null);
}
public void Second()
{
MainMethod(1);
}
Run Code Online (Sandbox Code Playgroud)
他们两个的表现会不会一样?还是一个比另一个更好?
它们都将导致完全相同的IL。在中Second,编译器只是自动为您提供参数。
默认值始终由编译器在调用站点(调用该方法的代码段)中应用。这有很多弊端-特别是在处理对默认值的更改方面-但这确实使推理性能等变得容易。
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |