顾名思义, 可选参数不是强制性参数, 它们是可选参数。它有助于排除某些参数的参数。或者我们可以说在可选参数中, 没有必要在方法中传递所有参数。这个概念在C#4.0.
重要事项:
- 你可以在以下位置使用可选参数方法, 建设者, 索引器和代表们.
- 每个可选参数都包含一个默认值, 这是其定义的一部分。
- 如果我们没有将任何参数传递给可选参数, 那么它将采用其默认值。
- 可选参数的默认值是一个常量表达式。
- 可选参数始终在参数列表的末尾定义。换句话说, 方法, 构造函数等的最后一个参数是可选参数。
静态公共无效学者(字符串fname, 字符串lname, int年龄= 20, 字符串分支="计算机科学")【C#可选参数用法示例介绍】在上面的示例中, 年龄= 20和字符串分支="计算机科学"是可选参数, 具有其默认值。让我们借助示例来讨论可选参数的概念。
//C# program to illustrate the
//concept of optional parameters
using System;
class GFG {//This method contains two regular
//parameters, i.e. fname and lname
//And two optional parameters, i.e.
//age and branch
static public void scholar( string fname, string lname, int age = 20, string branch = "Computer science" ){
Console.WriteLine( "First name: {0}" , fname);
Console.WriteLine( "Last name: {0}" , lname);
Console.WriteLine( "Age: {0}" , age);
Console.WriteLine( "Branch: {0}" , branch);
}//Main Method
static public void Main()
{//Calling the scholar method
scholar( "Ankita" , "Saini" );
scholar( "Siya" , "Joshi" , 30);
scholar( "Rohan" , "Joshi" , 37, "Information Technology" );
}
}
输出如下:
First name: AnkitaLast name: SainiAge: 20Branch: Computer scienceFirst name: SiyaLast name: JoshiAge: 30Branch: Computer scienceFirst name: RohanLast name: JoshiAge: 37Branch: Information Technology
说明:在以上示例中, 学者方法包含这四个参数中的四个参数, 两个是常规参数, 即名和名字两个是可选参数, 即年龄和科。这些可选参数包含其默认值。当你不传递这些参数的值时, 可选参数将使用其默认值。当你为可选参数传递参数时, 它们将采用传递的值而不是其默认值。
如果我们使用除最后一个参数以外的可选参数会发生什么?
它将给出编译时错误"可选参数不能在必需参数之前"作为可选参数, 总是在参数列表的末尾定义。换句话说, 方法, 构造函数等的最后一个参数是可选参数。
例子:
//C# program to illustrate the concept
//of optional parameters
using System;
class GFG {//This method contains two regular
//parameters, i.e. fname and lname
//And one optional parameters, i.e. age
static public void scholar( string fname, int age = 20, string lname)
{
Console.WriteLine( "First name: {0}" , fname);
Console.WriteLine( "Last name: {0}" , lname);
Console.WriteLine( "Age: {0}" , age);
}//Main Method
static public void Main()
{//Calling the scholar method
scholar( "Ankita" , "Saini" );
}
}
编译时错误:
prog.cs(11, 26):错误CS1737:可选参数不能在必需参数之前
推荐阅读
- C#多线程介绍和用法详细指南
- C#谓词委托用法介绍
- C#程序查找出现的奇数次
- 用于最大总和连续子数组的C#程序
- C#编程语言入门学习指南提纲
- 不能加硬盘?C盘不够存储卡凑!
- 电脑主板怎样刷bios?
- android studio快捷键大全
- svchost一直在下载怎样处理