【C#基础概念】函数参数默认值和指定传参
2021/10/21 20:11:31
本文主要是介绍【C#基础概念】函数参数默认值和指定传参,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最近在编写代码时发现介绍C#参数默认值不能像PL/SQL那样直接设置default,网上也没有太多详细的资料,自己琢磨并试验后整理成果如下:
-
C#允许在函数声明部分定义默认值
-
参数默认值设定后,调用时可以不用填写有默认值的参数
-
参数传递顺序,顺序调用在前,指定参数调用在后
1.默认参数设置
一般函数声明
public void FuncPara(string a,string b)
设置默认值
public void FuncPara(string a="specify by default a",string b= "specify by default b")
public void FuncPara(string a="specify by default",string b= "specify by default") { MessageBox.Show(a +"\n"+ b+"\n"); } private void button1_Click(object sender, EventArgs e) { FuncPara(); }
此时调用函数将采用默认值
messagebox出来的是:
specify by default a
specify by default b
在调用时重写默认参数
public void FuncPara(string a = "specify by default a", string b = "specify by default b") { MessageBox.Show(a + "\n" + b + "\n"); } private void button1_Click(object sender, EventArgs e) { FuncPara( b: "specify by call"); }
此时调用函数a将采用默认值,b的值在调用时被重写了
messagebox出来的是:
specify by default a
specify by call
3.参数传递时的顺序
原则先传顺序参数值,后传指定参数,没有指定参数的传值全部是按照顺序传递的
3.1顺序调用
这是最基本的参数调用方式,根据参数顺序传参,顺序参数在编写和调用时应当放在前面
编写函数首部时,有默认值参数一旦出现,后面的参数应当全部为有默认值的参数否则编译器会报错
public void FuncPara(string c,string a="specify by default",string b= "specify by default")
调用时
FuncPara("c","a","b"); 依次向参数c,a,b传值
错误写法
public void FuncPara(string a="specify by default",string c,string b= "specify by default")
3.2指定参数调用
你可以不按照顺序指定调用时的参数传值
public void FuncPara(string a="specify by default",string b= "specify by default")
只指定b,a采用默认值
FuncPara( b: "specify by call");
messagebox出来的是:
specify by default a
specify by call
也可以不按顺序:
FuncPara( b: "specify by call",a:"sdfe");
这篇关于【C#基础概念】函数参数默认值和指定传参的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#