C#中方法中 ref 和 out的使用
案例1:
static void Main()
{
int[] ary = { , , , };
int numLargerThan10,numLargerThan100,numLargerThan1000 ;
Proc(ary, out numLargerThan10, out numLargerThan100, out numLargerThan1000);
Console.WriteLine("有{0}个数大于10,有{1}个数大于100,有{2}个数大于1000",numLargerThan10,numLargerThan100,numLargerThan1000);
Console.Read();
} static void Proc(int[] ary, out int numLargerThan10, out int numLargerThan100, out int numLargerThan1000)
{
numLargerThan10 = ;
numLargerThan100 = ;
numLargerThan1000 = ;
foreach (var a in ary)
{
if (a > )
numLargerThan1000++;
else if (a > )
numLargerThan100++;
else if (a > )
numLargerThan10++;
}
} 输出结果:
有2个数大于10,有1个数大于100,有1个数大于1000
案例2:
class Program
{
//使用out后必须对变量赋值
public void TestOut(out int x, out int y)
{
x = ;
y = ;
}
//此时传进来的值分别为x1:10,y1:11,输出之后的x1的值为2 public void TestRef(ref int x, ref int y)
{
//引用剪剪那句话传进来的是猪,出来的可能是头牛(很精辟!)
x = ; }
static void Main(string[] args)
{
int x;
int y;
Program P1 = new Program();
P1.TestOut(out x,out y);
Console.WriteLine("x={0},y={1}", x, y);
//在使用之前ref必须对变量赋值
int x1 = ;
int Y1 = ;
P1.TestRef(ref x1,ref Y1);
Console.WriteLine("x1={0},y1={1}", x1, Y1);
}
} 输出结果:
x=1,y=2
x1=2,y1=11
C#中方法中 ref 和 out的使用的更多相关文章
- WordPress 在function.php 文件中方法中the_XXX方法失效
最近在使用WP给客户做一个企业网站,却出现从未遇到的问题. 事件是这样子的:我在function.php文件里写了一个根据分类ID获取文章的文章,因为该方法里的html元素是在多个页面共用的 但我在i ...
- java中方法中声明三个点“...”作用
public class Test { public static void main(String[] args) { String str[] = {"s"," ...
- C#方法中参数ref和out的解析
一.C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照. 二.C#方法中的参数 1.值参数 使用值参数,通过复制实参的值到形参的方式把数据传递 ...
- C#方法中三个重要的参数:out、ref、params
备注:适用于初学者,自学于传智播客. 1.out参数. 概念:如果在一个方法中,返回多个相同类型值的时候,可以考虑返回一数组.但是返回多个不同类型值的时候,返回数组显然不能解决问题,这时就引入out参 ...
- C#方法中的ref和out
ref 通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不将受到影响.此外我们还有其他向方法传递参数的形式,引用 ...
- C#中out和ref之间的区别【转】
首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...
- C#中方法的参数的四种类型
C#中方法的参数有四种类型: 1. 值参数类型 (不加任何修饰符,是默认的类型) 2. 引用型参数 (以ref 修饰符声明) 3. 输出型参数 (以out 修 ...
- C#中out和ref之间的区别
首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...
- C#中out和ref使用
1.out必须在方法中为其赋值,在调用的时候必须在变量的前面加上out关键字,侧重输出. 2.ref修饰方法的参数,在调用的时候必须在变量的前面加上ref关键字,可以修改其值也可以不修改,侧重修改. ...
随机推荐
- JavaScript日历控件!JS兼容IE6.7.FF.可挡住下拉控件
原文发布时间为:2009-08-22 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- WIN8.1侧边栏文件夹删除
1.注册表定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Explorer\MyComputer\NameSpace ...
- ARM QT实现多点触摸【转】
转自:http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html http://www.ptrackapp.com/apclassys ...
- 涂色问题(Python)
题目:将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,-,N.现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同,问有多少种不同的涂法?(N≥1,M≥3) 参考:ht ...
- 记录: 百度webuploader 分片文件上传java服务器端(spring mvc)示例的优化
最近项目上用到文件分片上传,于是找到了百度的一个开源前端控件webuploader. 于是尝试使用. 下载下来后,它提供的服务器端示例代码是php版的,那么Java版的呢? 其实,上传文件都是按照rf ...
- JAVA中如何创建一个二维数组,然后给二维数组赋值!
普通的赋值是:int[][] i = {{1,2,3},{2,3,4},{1,3,4}}; 如果是其他情况可以这样:比如: import java.util.* public class TT(){ ...
- Codeforces 734 F Anton and School
Discription Anton goes to school, his favorite lessons are arraystudying. He usually solves all the ...
- IOS开发~灵活使用 dismissViewControllerAnimated / dismissModalViewControllerAnimated
当遇到: A presentViewController B , B presentViewController C, C presentViewController D,问如何从D一下子回到A, ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- shell脚本安装ntp server 服务
##############################Deploy ntp server ######################## echo "start deploy ntp ...