快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

四种C#参数类型分别是什么

这篇文章将为大家详细讲解有关四种C#参数类型分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联IDC提供业务:服务器托管,成都服务器租用,服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

C#参数类型有四种:

值类型

引用类型

输出类型

数组型参数

C#参数类型(1):值参数

所谓值参数,就是利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并将此拷贝传递给该方法,这样做的结果就是被调用的方法不会修改实参的值,保证了实际值的安全,在调用方法时,如果形参的类型时值类型的话,必须保证实参的类型也是值类型的数据.

例子:

public class MyClass  {      public MyClass()      {          //          //TODO: 在此处添加构造函数逻辑          //      }        public void ChangeValue(string value)      {          value = "Value is Changed!";      }  }

-------------------------------------

  1. string value = "Value";  

  2. Response.Write(value+"
    ");  

  3.  

  4. MyClass mc = new MyClass();  

  5. mc.ChangeValue(value);  

  6.  

  7. Response.Write(value); 

效果:

四种C#参数类型分别是什么

C#参数类型(2):引用参数

使用ref关键字可以使参数按照引用传递.在需要传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中,若使用ref关键字,则在方法定义和调用方法时都必须显式使用ref关键字.

注意ref的使用!

例子:

public class MyClass  {      public MyClass()      {          //          //TODO: 在此处添加构造函数逻辑          //      }        public void ChangeValue(ref string value)      {          value = "Value is Changed!";      }  }

-----------------------------

  1. string value = "Value";  

  2. Response.Write(value+"
    ");  

  3.  

  4. MyClass mc = new MyClass();  

  5. mc.ChangeValue(ref value);  

  6.  

  7. Response.Write(value); 

效果:

四种C#参数类型分别是什么

C#参数类型(3):输出参数

使用out关键字来进行引用传递,这和ref关键字很累世,不同之处在于ref要求变量必须在传递之前就进行初始化,若使用out关键字,则方法定义和调用时都必须显式的使用out关键字.

例子:

public class MyClass  {      public MyClass()      {          //          //TODO: 在此处添加构造函数逻辑          //      }        public void ChangeValue(out string value)      {          value = "Value is Changed!";      }  }

---------------------------------

string value ;   MyClass mc = new MyClass();  mc.ChangeValue(out value);   Response.Write(value);

效果:

四种C#参数类型分别是什么

C#参数类型(4):数组型参数

数组型参数就是声明params关键字,用于指定在参数数目可变处采用参数的方法参数.

在方法声明中的params关键字之后不允许任何其他参数,并且在方法声明中只允许一个params关键字.

例子:

  1. public class MyClass  

  2. {  

  3.     public MyClass()  

  4.     {  

  5.         // 

  6.         //TODO: 在此处添加构造函数逻辑 

  7.         // 

  8.     }  

  9.  

  10.  

  11.     public void ChangeValue(params string[] value)  

  12.     {  

  13.         foreach (string s in value)  

  14.         {  

  15.             HttpContext.Current.Response.Write(s + "
    ");  

  16.         }  

  17.     }  

------------------------------------------

string value1 = "Value1";  string value2 = "Value2";   MyClass mc = new MyClass();  mc.ChangeValue(value1, value2);

效果:

四种C#参数类型分别是什么 

另:

数组类型的参数:

数组类型是引用类型的数据,所以也应归类于引用类型.

public class MyClass  {      public MyClass()      {          //          //TODO: 在此处添加构造函数逻辑          //      }       public void ChangeValue(string[] value)      {          value[0] = "This is Value0,Changed!";      }  }

----------------------------------------------

  1. string[] value = { "Value1", "Value2" };  

  2.  Response.Write(value[0] + "
    ");  

  3.  

  4.  MyClass mc = new MyClass();  

  5.  mc.ChangeValue(value);  

  6.  

  7.  Response.Write(value[0] + "
    ");  

效果:

四种C#参数类型分别是什么

注意:

ref和out的区别:

传递到ref参数的参数必须***初始化,而out的参数在传递之前不必初始化.

关于四种C#参数类型分别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文标题:四种C#参数类型分别是什么
转载源于:http://6mz.cn/article/pdogpe.html

其他资讯