【发布时间】:2019-02-21 13:41:02
【问题描述】:
鉴于此示例代码,方法 foo 是否可以在运行时确定第 4 个参数已被默认?
using System;
namespace DefaultParameters {
class Program {
static void Main(string[] args) {
int a = 0,b = 1,c = 3;
foo(a, b, c); // The 4th parm is defaulted in the method definition.
foo(a, b, c, 100); // The 4th parm is explicit in the method call.
}
/// <summary>
/// A method with a default paramater
/// </summary>
/// <param name="speed">Speed</param>
/// <param name="brightness">Brightness</param>
/// <param name="weight">Weight</param>
/// <param name="humidity">Humidity</param>
public static void foo(int speed, int brightness, int weight, int humidity = 42) {
Console.WriteLine("speed = " + speed + " brightness = " + brightness + " weight = " + weight + " humidity = " + humidity);
}
}
}
【问题讨论】:
-
更好的solution 是像第一个答案那样重载方法。
标签: c# methods optional-parameters