(1)命名参数
参数一般需要按定义的顺序传递给方法。命名参数允许按任意顺序传递。
string FullName(string firstName,string lastName){return firstName + ""+lastName;}
调用会返回相同的全名:
FullName("John","Doe");FullName(lastName:"Doe",firstName:"John");
如果方法有几个参数,可以在同一个调用中混合使用位置参数和命名参数。
(2)可选参数
参数也可选。必须为可选参数提供默认值。可选参数还必须是定义的最后的参数。
下列声明是不正确的!
void TestMethod(int optionalNumber=10,int notOptionalNamber){System.Console.Write(optionalNamber + notOptionalNumber);}
要使用这个方法正常工作,就必须在最后定义optionalNumber参数。
(3)方法重载
C#支持方法重载——方法的几个版本有不用的签名(即,方法名新田,但是参数的个数或类型不同)。为重载方法,只需要声明同名但参数个数或类型不同的方法即可:
class ResultDisplayer{void DisplayResult(string result){//implementation}void DisplayResult(int result){//implementation}}
若不能使用可选参数,就可以使用方法重载来实现此目的:
Class MyClass{int DoSomething(int x) //want 2nd parameter with default value 10{DoSomething(x,10);}intDoSomething(int x,int y){//implementation}}
在任何语言中,对于方法重载,若调用错误的重载方法,就可能出现运行错误。那如何避免此错误?
1) 两个方法不能仅在返回类型上有区别;
2) 两个方法不能仅根据参数是声明为ref还是out来区分;
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4