C#中ref和out的用法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication8
{
       class Program
      {
             static void Main(string[] args)
             {
                int testNum = 100;
                Operation(testNum);
               //屏幕输出100,表示方法Operation内部对testNum的操作没有影响到testNum的值
                 Console.WriteLine("testNum的值:"+testNum);

int num1=200;
                OtherOpearation(ref num1);
                //屏幕输出10000,表示方法OtherOpearation内部对num1的操作影响到了num1值。跟引用类型相同
                 Console.WriteLine("num1的值:"+num1);

int num2;
                 //自己去测试结果吧,ref和out的区别我认为就是一个需要初始化,一个不需要。
                 //类似这两个方法可以使用ref和out修饰参数在void返回类型的情况下得到你想要的返回值
                 TheOtherOperation(out num2);
                 Console.WriteLine("num2的值:"+num2);
                 Console.ReadKey();
                 }

static void TheOtherOperation(out int result)
                {
                  result = 25000;
                 }
                 static void OtherOpearation(ref int result)
                {
                 result = 10000;
                 }
                 static void Operation(int result)
                {
                  result = 250;
                 }

}
}

时间: 2024-11-14 12:37:30

C#中ref和out的用法的相关文章

Report_报表中Ref Cursor数据源的概念和用法(案例)

2014-06-22 BaoXinjian 一.摘要 在Report Builder中,有两种数据源取法,一种是基于SQL的,另外一种就是基于Ref Cursor的写法 Ref Cursor在Report Builder 中主要用于一些公用的查询会使用到 比如有多个Report可能会用到同一段SQL或者类似SQL,一般会将这个SQL独立出来作为Ref Cursor放在Package中 当Report调用时,就可以通过调用package中的ref cursor实现查询,而不是讲这段SQL每个rep

C#值参数和引用参数,方法的重载,foreach,数组,以及ref和out的用法

1.方法的传输传递 值参数:传递的是副本 引用参数:自身 保留自定义的方法中对值的改变 形参影响实参ref:对应的形参和实参都用ref修饰 输出参数:实参不用赋值,但是自定义方法内必须对此参数赋值!!! 把自定义方法产生的结果带回调用处out:对应的形参和实参都用out修饰 必须在自定义方法中赋值 注:如果需要返回一个参数 使用return 如果需要反回多个参数 使用ref 或者 out TryParse用法:自行判断转换是否成功 转换成功反回true 转换失败返回false 例: bool f

关于Java中this和super的用法介绍和区别

1.this&super 什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的.要注意的是this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this.his也可作为构造函数来使用.在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类.super的作用同样是可

shell中$0,$?,$!等的特殊用法

shell中$0,$?,$!等的特殊用法 变量说明: $$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 … $n"的形式输出所有参数.[email protected]所有参数列表.如"[email protected]"用「"」括起来的情况

Oracle中HINT的30个用法

在SQL语句优化过程中,经常会用到hint, 以下是在SQL优化过程中常见Oracle中"HINT"的30个用法 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消

js中继承的几种用法总结(apply,call,prototype)

本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 <SPAN style="<SPAN style="FONT-SIZE: 18px"><html>   <body>  <script type="text/javascript"> 

C中的时间函数的用法

C中的时间函数的用法    这个类展示了C语言中的时间函数的常用的用法. 源代码: #include <ctime>#include <iostream> using namespace std; class MyTime{public:    MyTime() { mPTime = 0; mStLocalTime = 0; mStGMTTime = 0; }    ~MyTime() {}; //time_t time(time_t * timer) 返回自1970年1月1日00

java中静态代码块的用法 static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是

C# 中 PadLeft和PadRight 的用法

在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位. PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度 PadRight(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度 示例: 1.假如想输出AAAAA,可以用string.Empty.PadLeft(5,'