c#

在C#中如何正确处理Optional值

小樊
87
2024-09-08 04:18:18
栏目: 编程语言

在C#中,可以使用Nullable<T>或者T?来表示一个可选值

public void MyFunction(int? optionalValue = null)
{
    if (optionalValue.HasValue)
    {
        // 有值的情况下进行操作
        int value = optionalValue.Value;
        Console.WriteLine("Value: " + value);
    }
    else
    {
        // 无值的情况下进行操作
        Console.WriteLine("No value provided.");
    }
}

在这个例子中,我们定义了一个名为MyFunction的方法,该方法接受一个可选的整数参数。如果提供了值,则输出该值;否则,输出"No value provided."。

要调用此方法,可以按以下方式操作:

MyFunction(); // 不提供值
MyFunction(10); // 提供值

注意,对于引用类型(如类和数组),可以直接将其设置为null,而不需要使用Nullable<T>T?。例如:

public void MyFunction(string optionalValue = null)
{
    if (optionalValue != null)
    {
        // 有值的情况下进行操作
        Console.WriteLine("Value: " + optionalValue);
    }
    else
    {
        // 无值的情况下进行操作
        Console.WriteLine("No value provided.");
    }
}

在这个例子中,我们定义了一个名为MyFunction的方法,该方法接受一个可选的字符串参数。如果提供了值,则输出该值;否则,输出"No value provided."。

要调用此方法,可以按以下方式操作:

MyFunction(); // 不提供值
MyFunction("Hello, world!"); // 提供值

0
看了该问题的人还看了