c#自定义函数默认参数值?

有三个功能类似的函数。
A(int a=1){}
A(int a=2){}
A(int a=3){}
调用的时候就是A(1).这样能区分吗?
编译器提示错误。

1、C#的参数没有默认值,A(int a=1)这样的写法是不能通过编译的。
2、要区分二个方法是不同的,那必须保证方法名是不同的或者方法名相同,但方法参数声明是不同的。
其实你的问题应该是“方法重载”方面的问题。如果功能相同的多个方法,但只是方法参数有区别,可以使用“方法重载”。比如:
//方法A,一个int参数
void A(int a){}
//下面这个是重载A方法,且将a的参数a设置为1,也以此达到默认值的效果
void A():A(1){}
我不知道有没有说清楚,不过,C#中默认参数的问题需要用方法重载来实现,你可以搜索一下C#有关方法重载的一些资料看看。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-18
不能区分,参数类型都是int类型,可以定义
A(int a=1){}
A(string a="1"){}
这样就是两种函数了
第2个回答  2010-05-18
不能区分,建议
A(int a=1,string type){
if(type=="1")
{

}
if(type=="2")
{

}
if(type=="3")
{

}

}
第3个回答  2010-05-18
当然区分不了,直接A(int a){};调用A(1)或A(2)或A(3)
第4个回答  2010-05-18
不能 这样不是重载

对 1 2 3 的判断 可以放到方法中

用switch分支实现

c#可以设定方法中参数的默认值吗
不能,可以在调用的时候给,或者在方法里使用if判断,参数若没有值则给予一个默认值

C# 函数参数默认值问题
C# 有2种不同的常量定义方式:编译时常量(compile-time) 和运行时常量(runtime)。所谓编译时常量,是以 const 关键字定义,所谓编译时是常量则以 readonly 关键字定义。C# 规定参数的默认值必须是编译时能确定的常量值。这些参数的类型可以是 C# 认定的基元类型。还可以包括枚举类型,以及能设为 null...

C#方法的形参能赋默认值吗?
c++可以给函数参数添加默认值,但是c#不行,你只能用个重载函数或者在开头做判断:private void Send( string smtpAddress , string userName , string password , string to , string title ,string content){ if (null == content || "" == content){ content = "123456789 123456789 123456789 1234...

c#如何将对象里的参数恢复默认值
1 打开word后,依次点击“菜单栏—>文件—>页面设置”,将弹出“页面设置”框,从朋友那边把ord参数抄过来,在页面设置框中输入,如下图所示:2 点击“页面设置”框左下角的“默认”,如下图所示:3 点击“默认”后,将弹出“是否更改页面的默认设置”提示,点击“是”,即可,如下图所示:END 方...

c#中方法的参数里写bool param=false意义是什么?
public static void name(bool param = false){} public static void name(params object[] item){} 第一个表示可先参数,调用的时候可以不传递参数值,这样false就会作为默认参数值。第二是可以传递数量不固定的参数值,该方法以数组的方法接收这些参数。params 是个系统关键字,param只是一个参数...

在VS中,C#自定义函数的语法格式
sum = sum+num;} return sum;} 1,.net中C#的函数是不需要用类似function来定义的,直接编写函数就可以了,函数一般写在类里边,也就是.cs为后缀名的文件中 2.,函数定义的语法格式是 修饰词 返回值类型 函数名(参数列表){ 函数内容;} 注:修饰词可以不写,默认为private;希望可以帮到你!

c#的结构中到底有没有默认的无参构造函数?
实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数 参考资料:http:\/\/msdn.microsoft.com\/zh-cn\/library\/saxz13w4(VS.80).aspx

asp.net (C#)怎么初始化一个二维字符串数组,让它的初始值都是0. 如...
第二个就是j了,这样它的初始值,也就是数组的第一个值为string[0,0]={{"0"}.{"2"}},数组的元素可以根据自己喜好定义。接下来是定义动态二维数组,string[,] str=new string[10,10]\/\/实例一个两点都是10的长度的二维数组,为其赋值分别是str[0,0]="0";str[0,1]="1"...str[1,0...

C#什么是可选参数和必须参数
可选参数就是可有可无的参数,无的话按默认值处理,一般和函数重载有关,必须参数,当然就是必须设置的参数了

C#中方法的参数有哪些呢?
可选参数(Optional Parameter):可选参数用于定义一个方法可以有默认值的参数。通过在参数类型后加上“=默认值”来定义。可选参数必须在方法的参数列表的末尾。参数数组(Parameter Array):参数数组允许方法接受任意数量的参数,这些参数会被封装成一个数组。通过在参数类型前加上“params”关键字来定义...

相似回答