C#中的Optional参数是什么?

默认情况下,方法的所有参数都是必需的。包含可选参数的方法不会在调用时强制传递参数。这意味着我们在不传递参数的情况下调用方法。

可选参数在函数定义中包含一个默认值。如果我们在调用时未传递可选的参数值,则使用默认值。

Thera是使参数可选的不同方法。

使用默认值

示例

using System;

namespace DemoApplication{

   class Demo{

      static void Main(string[] args){

         OptionalMethodWithDefaultValue(5);

         //未传递Value2,因为它是可选的

         OptionalMethodWithDefaultValue(5, 10);

         //传递Value2-

         Console.ReadLine();

      }

      public static void OptionalMethodWithDefaultValue(int value1, int value2 = 5){

         Console.WriteLine($"Sum is {value1 + value2}");

      }

   }

}

输出结果

上面代码的输出是

Sum is 10

Sum is 15

在上面的示例中,方法OptionalMethodWithDefaultValue(int value1,int value2 = 5)value2的默认值为5。因此,如果在调用时没有为value2传递任何参数,它将采用默认值5,并且如果为value2传递了参数,则默认值被覆盖。

使用可选属性

示例

using System;

using System.Runtime.InteropServices;

namespace DemoApplication{

   class Demo{

      static void Main(string[] args){

         OptionalMethodWithDefaultValue(5);

         OptionalMethodWithDefaultValue(5, 10);

         Console.ReadLine();

      }

      public static void OptionalMethodWithDefaultValue(int value1, [Optional]int value2){

         Console.WriteLine($"Sum is {value1 + value2}");

      }

   }

}

输出结果

上面代码的输出是

Sum is 5

Sum is 15

此处用于[Optional]属性用于指定可选参数。

另外,应注意,应始终在参数末尾指定可选参数。例如-OptionalMethodWithDefaultValue(int value1 = 5,int value2)将引发异常。

示例

using System;

namespace DemoApplication{

   class Demo{

      static void Main(string[] args){

         OptionalMethodWithDefaultValue(5);

         OptionalMethodWithDefaultValue(5, 10);

         Console.ReadLine();

      }

      public static void OptionalMethodWithDefaultValue(int value1 = 5, int value2){

         Console.WriteLine($"Sum is {value1 + value2}");

      }

   }

}

错误-可选参数必须出现在所有必需参数之后。

以上是 C#中的Optional参数是什么? 的全部内容, 来源链接: utcz.com/z/356050.html

回到顶部