ref与out修饰符区别

ref:
变量需赋值,值带入方法,参与逻辑运算,最终对相应变量赋值;
out:
变量值不带入方法,参与逻辑运算,最终对相应变量赋值;

int.tryparse(string s,out int n) //用out不用ref

示例:

private void RefAndOut(ref int i,out int j)
{
i++;
j++;
}

int i = 1;
int j = 2;
RefAndOut(ref i,out j);
Console.WriteLine("i="+i);
Console.WriteLine("j="+j);
结果:-----------------------
i=2;
j=1;
-----------------------

  

时间: 2024-10-22 22:49:14

ref与out修饰符区别的相关文章

__weak与__block修饰符区别

API Reference对__block变量修饰符的解释,大概意思: 1.__block对象在block中是可以被修改.重新赋值的. 2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题. API Reference对__weak变量修饰符的解释,大概意思: 使用了__weak修饰符的对象,作用等同于定义为weak的property.自然不会导致循环引用问题,因为苹果文档已经说的很清楚,当原对象没有任何强引用的时候,弱引用指针也会被设置为nil. 因此,__

[Reprint]C++函数前和函数后加const修饰符区别

c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义.今天来讲讲const加在函数前和函数后面的区别.比如: 01 #include<iostream> 02   03 using namespace std; 04   05 // Ahthor:  过往记忆 06 // E-mail:  [email protected] 07 // Blog:    http://www.iteblog.com 08 // 转载请注明出处 09   10

C#中的overrid和new修饰符区别(代码)

在C#的继承中尝尝会用到相关的修饰词:override和new.这两个修饰符都可以在新的子类中,重写同名的父类方法. override: 扩展或修改继承的方法.属性.索引器或事件的抽象或虚拟实现需要使用到. new:在用作声明修饰符时,new 关键字可以显式隐藏从基类继承的成员. 隐藏继承的成员时,该成员的派生版本将替换基类版本. 以上是这两个修饰符的解释.对于这两者之间的区别之类的说法,其实网上找到的有很多,大多都是些概念性的东西.我这里主要是对于,自己测试的代码和大家分享下. 1 using

C++ 成员函数前和函数后加const修饰符区别

博客转载自: https://www.iteblog.com/archives/214.html 分析以下一段程序,阐述成员函数后缀const 和 成员函数前const 的作用 #include<iostream> using namespace std; class TestClass { public: size_t length() const; const char* getPContent(); void setLengthValid(bool isLengthValid); pri

ref、out 修饰符

ref参数和out参数类似,除了: 1.ref参数要求在传入函数之前赋值,而out参数不用 2.out参数必须在函数结束之前被赋值,而ref参数不用 ref传递参数 若int x;则报错 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 int x=0; 6 Foo(ref x); 7 Console.WriteLine(x);//1 8 Console.ReadKey(); 9 } 10 static void Foo(re

java中四种访问修饰符区别及详解全过程

客户端程序员:即在其应用中使用数据类型的类消费者,他的目标是收集各种用来实现快速应用开发的类. 类创建者:即创建新数据类型的程序员,目标是构建类. 访问控制存在的原因:a.让客户端程序员无法触及他们不应该触及的部分  : b.允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员  java的四个关键字:public.protected.default.private(他们决定了紧跟其后被定义的东西可以被谁使用) 适用范围<访问权限范围越小,安全性越高>   访问权限   类  

java修饰符区别

Public 可以被同一个项目中的所有类访问,具有项目可见性,最大的访问权限Private 成员变量和方法只能在其定义的类中访问 具有类可见性Protected 可以被一个包里的类访问 ,被同一个项目中不同包中的子类访问)默认(friendly) 可以被一个包里的类访问. 具有包可见性 封装的步骤: 修改属性的可见性 -private 创建公有的getter/setter方法 用于属性的读(get)写(set) 快捷键: Shift+Alt+s 在getter/setter方法中加入属性控制语句

C# 基础(一) 访问修饰符、ref与out、标志枚举等等

C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序集或其他程序集都可以访问此成员 private:私有类型,同一类里或结构里才可以访问此成员 protected:保护类型,同一类里或者派生类中才可以访问此成员 internal:内部类型,只有在同一程序集才可以访问此成员 访问性不一致:子类的访问权限不能比父类高.防止暴露父类的信息.. 二.stat

out与ref修饰符

out修饰符 定义 作用 使用注意 总结 定义 out意为output,所以被out修饰的参数叫做输出参数. 通过使用out修饰的参数,方法可以返回对应参数的值 作用 先看一个例子 定义变量: 1 int x=1,y=2,sum;//定义x,y,sum三个整型变量 定义方法: 1 static void Add(int x,int y,out int sum) 2 { 3 sum=x+y; //x,y相加 4 } 调用方法: 1 static void Main(string[] args) 2