gpt4 book ai didi

c# - 是否使用 "Optional, DefaultParameterValue"属性?

转载 作者:IT王子 更新时间:2023-10-29 04:27:22 25 4
gpt4 key购买 nike

使用 OptionalDefaultParameterValue 属性与不使用它们有什么区别吗?

public void Test1([Optional, DefaultParameterValue("param1")] string p1, [Optional, DefaultParameterValue("param2")] string p2)
{
}

public void Test2(string p1= "param1", string p2= "param2")
{
}

两者都有效:

Test1(p2: "aaa");
Test2(p2: "aaa");

最佳答案

它们的编译方式相同,并且编译器都可以正常工作。唯一的区别是缺少 using System.Runtime.InteropServices;,并且更易于阅读代码。

作为引用,IL 是:

.method public hidebysig instance void TheName([opt] string p1,
[opt] string p2) cil managed
{
.param [1] = string('param1')
.param [2] = string('param2')
.maxstack 8
L_0000: ret
}

TheName 是唯一发生变化的地方。

关于c# - 是否使用 "Optional, DefaultParameterValue"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40171095/

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