因此,假设您有:

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);
}


有什么理由吗?

在我目前的公司代码库中,我们似乎两者都做,但是似乎没有理由在两者之间做一个。第二种选择可以提高可读性,因为您可以立即看到参数名称,但是无论如何您都可以通过intellisense看到它?

最佳答案

在C#4.0中主要引入了命名实参以提高可读性。您实际上不必使用它们。有些人喜欢在某些情况下使用它们,而其他人则不喜欢。基本上由您决定。

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

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


但是,将命名参数和可选参数一起使用可以使您仅为可选参数列表中的少数几个参数提供参数。例如,此功能极大地方便了对COM接口的调用。

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

10-09 21:27