gpt4 book ai didi

c# - 将 null 传递给默认值为 null 的可选参数

转载 作者:太空宇宙 更新时间:2023-11-03 20:48:18 24 4
gpt4 key购买 nike

我有一个方法有一个可选的默认值 null。我观察到,那些使用该方法的人将 null 作为可选参数的值传递

主要方法

public void MainMethod(int id, MyClass model = null)
{
// Logic goes here
}

我可以看到两种类型的调用,

public void First()
{
MainMethod(1, null);
}

public void Second()
{
MainMethod(1);
}

他们两个会有相同的表现吗?或者一个比另一个更好?

最佳答案

它们都会产生完全相同的 IL。在 Second 中,编译器只是自动为您提供参数。

默认值总是由编译器在调用点(调用方法的代码段)应用。这有各种缺点 - 特别是在处理默认值更改方面 - 但它确实可以很容易地推断出性能等。

关于c# - 将 null 传递给默认值为 null 的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58394734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com