(一)ref

函数形参变量的输入有两种方式:传值,传址。而ref则为传址。eg:

 static int Add(ref int n)
{
Console.WriteLine("Add----1:{0}",n);
n = n + ;
Console.WriteLine("Add----2:{0}",n);
return n;
}
static void Main(string[] args)
{
int a = ;
Console.WriteLine("Main----1:{0}",a);
Add(ref a);//执行函数Add后,并没有把a的值更新,但加上ref则把a在内存中的地址也传给函数了,相应的a指向的地址也就随之改变了。a = Add(a);
Console.WriteLine("Main----2:{0}",a);
Console.ReadKey();
}

打印结果为:

(二)out

out顾名思义,即输出。相当于一个函数可以有多个返回值,这是C#中特有的。

 static int Add(int n,out int x)
{
Console.WriteLine("Add----1:{0}",n);
n = n + ;
x = ;
Console.WriteLine("Add----2:{0}",n);
return n;
}
static void Main(string[] args)
{
int a = ;
int x;
Console.WriteLine("Main----1:{0}",a);
a=Add(a,out x);
Console.WriteLine("Main----2:{0},{1}",a,x);//x相当于第二个返回值,它的值也改变了,至少目前我是这么理解的
Console.ReadKey();
}

打印结果为:

(三)params

在数组形参前面使用,可以赋多个值。eg:

 static void PaiXu(params int[] nums)
{
for (int i = ; i < nums.Length - ; i++)
{
for (int j = ; j <= nums.Length - i; j++)
{
if (nums[j] > nums[j - ])
{
int temp = nums[j];
nums[j] = nums[j - ];
nums[j - ] = temp;
}
}
}
for (int i = ; i < nums.Length; i++)
{
Console.Write(nums[i]);
}
} PaiXu(, , , , , );//调用的时候可以赋任意多个值了

(四)enum 枚举

枚举是由程序员定义的类型,与类或结构一样。

 *与结构一样,枚举是值类型,因此直接存储它们的数据,而不是分开存储成引用和数据。
*枚举只有一种类型的成员:命名的整数值常量。
eg:
 enum days
{
Sun = ,
Mon,
Tue,
Wed,
Tur,
Fri=,
Sat
}
 Console.WriteLine((int)days.Mon);
Console.WriteLine((int)days.Sat);

打印结果为:

2014.8.30.ref,out,params,enum,递归的更多相关文章

  1. .NET 基础一步步一幕幕[out、ref、params]

    out.ref.params out: 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组. 但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候, 我们可以考虑使用 ...

  2. .net 中 ref out params的区别

    C#中有三个关键字-ref,out ,params,虽然本人不喜欢这三个关键字,因为它们疑似破坏面向对象特性.但是既然m$把融入在c#体系中,那么我们就来认识一下参数修饰符ref,out ,param ...

  3. 参数修饰符ref,out ,params的区别

    参数修饰符ref,out ,params的区别 C#中有三个关键字-ref,out ,params,可是这三个之间的区别你都明白了吗? 那么我们就来认识一下参数修饰符ref,out ,params吧, ...

  4. C# 中out,ref,params参数的使用

    C#中有三个高级参数,分别是out,ref,params:   1.out参数 方法使用return 只能返回一个值(一个数值或一个指针值),out参数可以帮助我们在一个方法中返回多个值,不限类型. ...

  5. new Date('2014/04/30') 和 new Date('2014-04-30') 的区别

    new Date('2014/04/30') Wed Apr 30 2014 00:00:00 GMT+0800 (中国标准时间) new Date('2014-04-30'); Wed Apr 30 ...

  6. out参数ref参数params 可变参数

    1.我们在主函数中调用其他函数,我们管主函数为调用者,其他函数为被调用者. 如果被调用者,想要得到调用者的值:传参 使用静态字段来模拟全局变量  在方法外类里写字段 public static _na ...

  7. C#方法中三个重要的参数:out、ref、params

    备注:适用于初学者,自学于传智播客. 1.out参数. 概念:如果在一个方法中,返回多个相同类型值的时候,可以考虑返回一数组.但是返回多个不同类型值的时候,返回数组显然不能解决问题,这时就引入out参 ...

  8. c#.net中参数修饰符ref,out ,params解析

    params ============================================================================================= ...

  9. C#中的out参数/ref参数/params可变参数

    out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型. static void Main(string[] args ...

随机推荐

  1. poj1484---判断保险丝是否烧断

    题目输入要求: 2 2 10 //设备数n  接下来的操作数m   保险丝能承受最大电流c5 //电器1的电流7 //2的电流1 //反转开关12 //反转开关2 思路:设置一个flag数组,记得每次 ...

  2. wchar_t 、UTF-8、UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET

    wchar_t .UTF-8.UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET wchar_t .UTF-8.UTF-16的转换方法

  3. REST Web Server,REST介绍

    参考资料: 1.http://www.chinalivedoor.com/story/1123.html 2. Backbone.js 是一种重量级javascript  MVC 应用框架,通过Mod ...

  4. 网易云课堂_程序设计入门-C语言_第五周:函数_1分解质因数

    1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...

  5. 配置php中的Oracle扩展

    window 1. 从 OTN Instant Client page下载windows客户端安装包,安装包的位数(32/64位)必须和你所使用的操作系统类型.php版本一致.解压安装包至C:\ins ...

  6. 如何在Github Pages搭建自己写的页面?

    教程一大堆,却没有几个能看懂的,问题一:90%的都在讲解如何搭建博客,和我想要将自己的网页部署到上面还是有点区别的.问题二:所有的教程都用到了Git,而我只知道Git是一个开源的分布式版本控制系统.完 ...

  7. Oracle的完整练习,纯手工打字,可能有一两点错误。。。

    PS:所有的表来源于Oracle自带的SCOTT用户下的表,初学者应该都知道的.emp表的SMITH被我删除了没有rollback,所以可能结果有点小出入. 1.选择部门30中的所有员工: SELEC ...

  8. Code First Entity Framework 6化被动为主动之explicit loading模式实战分析( 附源码)

    在使用Entity Framework加载关联实体时,可以有三种方式: 1.懒加载(lazy Loading); 2.贪婪加载(eager loading); 3.显示加载(explicit load ...

  9. QF——iOS代理模式

    iOS的代理模式: A要完成某个功能,它可以自己完成,但有时出于一些原因,不方便自己完成.这时A可以委托B来帮其完成此功能,即由B代理完成.但是这个功能不是让B随随便便任其完成.此时,会有一个协议文件 ...

  10. python打包成.exe工具py2exe0-----No such file or directory错误

    转自:http://justcoding.iteye.com/blog/900993 一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具, ...