gpt4 book ai didi

c# - 将值传递给方法

转载 作者:行者123 更新时间:2023-11-30 18:57:19 25 4
gpt4 key购买 nike

假设您有:

public void TestFishsticks()
{
var fishes = GetFishstick(false);
}

private object GetFishstick(bool getBigFishes)
{
return FishsticksManager().GetFishsticks(getBigFishes);
}

对比

public void TestFishsticks()
{
var fishes = GetFishstick(getBigFishes: false);
}

private object GetFishstick(bool getBigFishes)
{
return FishsticksManager().GetFishsticks(getBigFishes);
}

这有什么原因吗?

在我目前的公司代码库中,我们似乎两者都做,但似乎没有理由优先于另一个。我可以看到第二个选项的可读性略有提高,因为您可以立即看到参数名称,但您仍然可以通过智能感知看到它?

最佳答案

命名参数主要是在 C# 4.0 中引入的,以提高可读性。您实际上不必使用它们。有些人喜欢在某些情况下使用它们,有些人则不喜欢。这基本上取决于您。

它可以大大提高可读性,尤其是当您不想一直阅读代码(或者更糟的是查看打印输出)时触发智能感知时。比较这两个:

CalculateBMI(123, 178); // What do the numbers mean?
CalculateBMI(weightInKg: 123, heightInCentimeters: 178); // Clearer IMHO.

但是,同时使用命名参数和可选参数可以让您只为可选参数列表中的几个参数提供参数。例如,此功能极大地促进了对 COM 接口(interface)的调用。

关于c# - 将值传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7767530/

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