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防止拦截新窗口打开页面
原文发布时间为:2009-05-04 -- 来源于本人的百度文章 [由搬家工具导入] 兼容IE.FF.GOOGLE。防止拦截。。。。 <html xmlns="http://www.w ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---36
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- synchronous interrupt and asynchronous interrupt
Asynchronous interrupt 中斷请求信号来自CM3内核的外面,来自各种片上外设和外扩的外设,对CM3来说是"异步"的: e.g. usb otg device S ...
- javascript 数据类型的一些方法总结
字符串slice()与substring()的区别: 相同点:均接收两个参数,分别是子字符串的起始位置和终止位置.返回这两者之间的子字符串,不包括终止位置的字符.如果第2个参数不设置,则默认字符串的长 ...
- EasyUI左边树菜单和datagrid分页
//这个页面是Home.html 1 <!DOCTYPE html> <html> <head> <meta http-equiv="Content ...
- bjtu 1846. Infinity的装备[状压dp+dfs/bfs]
https://citel.bjtu.edu.cn/acm/oj/problem/1846 1846. Infinity的装备 时间限制 1000 ms 内存限制 64 MB 题目描述 “测试服终于下 ...
- php 开发 错误汇总
[问题]nginx thinkphp中 除首页外全显示404 Not Found,非rewrite问题,Linux+nginx环境 [解决方案]: 1.在nginx下重新支持pathinfo模式 2. ...
- Android 进度条对话框ProgressDialog
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- REMOTE HOST IDENTIFICATION HAS CHANGED 问题解决
今天处理 ssh连接至 ubuntu 服务器时,提示以下错误: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING ...
- apache服务器日志及重启方法
进入 lamp安装目录 ./ctlscript.sh restart 重启 实时查看日志 tail -f error_log 查看日志方法 404 及某天的方法cat access_log_201 ...