C# 中三个关键字params,Ref,out
一、
using System;
using System.Collection.Generic;
using System.Text;
namespace ParamsRefOut
{
class Program
{
static void ChangeValue(int i)
{
i=5;
Console.WriteLine("The ChangeValue method changed the value "+i.ToString());
}
static void Main(string[] args)
{
int i=10;
Console.WriteLine("The value of I is"+i.ToString());
ChangeValue(i);
Console.WriteLine("The value of I is"+i.ToString());
Console.ReadLine();
}
}
}
本文主要讨论params关键字,ref关键字,out关键字
1)params关键字,官方给出的解释为用于方法参数长度不定的情况。有时候不能确定一个方法的方法参数到底有多少个,可以使用params关键字来解决问题
using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
class number
{
public static void UseParams(params int[] list)
{
for(int i=0;i<list.Length;i++)
{
Console.WriteLine(list[i]);
}
}
static void Main(string[] args)
{
UseParams(1,2,3);
int[] myArray=new int[3]{10,11,12};
UseParams(myArray);
Console.ReadLine();
}
}
}
2)ref关键字:使用引用类型参数,在方法中对参数所做的任何更改都将反应在该变量中
using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
class number
{
static void Main()
{
int val=0;
Method(ref val);
Console.WriteLine(val.ToString());
}
static void Method(ref int i)
{
i=44;
}
}
}
(3)out关键字:out与ref相似但是out无需进行初始化
C# 中三个关键字params,Ref,out的更多相关文章
- C#中三个关键字params,Ref,out
关于这三个关键字之前可以研究一下原本的一些操作 using System; using System.Collections.Generic; using System.Text; namespace ...
- C#中的参数关键字params
class 参数 { public void doSome(string str,params int[] values){ ) { ; i < values.Length; i++) { Co ...
- (Gorails视频)使用推广链接(params[:ref]),增加注册用户!
用一个链接进行用户的注册推广: 我的git: https://github.com/chentianwei411/embeddable_comments 用途:比如推广,拉朋友注册,给推广码,用这 ...
- 浅谈c#的三个高级参数ref out 和Params C#中is与as的区别分析 “登陆”与“登录”有何区别 经典SQL语句大全(绝对的经典)
浅谈c#的三个高级参数ref out 和Params c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和 ...
- 浅谈c#的三个高级参数ref out 和Params
c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和Params,在这里我们来分别的讲解一下,在这里的我们先不 ...
- PHP中this,self,parent三个关键字
this,self,parent三个关键字从字面上比较好理解,分别是指这.自己.父亲. this是指向当前对象的指针(姑且用C里面的指针来看吧)self是指向当前类的指针parent是指向父类的指针( ...
- c#中的Out, params,ref 细说并沉淀
1. Out,params,ref之前先记录平时用的最多的按值传递参数的情况,当然默认情况下参数传入函数的默认行为也是按值传递的. 1: //默认情况下参数会按照值传递 2: static int a ...
- C/C++中static,const,inline三种关键字详细总结
一.关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因.作用谈起,全面分析static 修饰符的实质. static ...
- php中this,self,parent三个关键字的区别辨析
php中this,self,parent三个关键字的区别辨析 一.总结 一句话总结:this是指向对象实例的一个指针,self是对类本身的一个引用,parent是对父类的引用. 1.self关键字使用 ...
随机推荐
- JAVA会员生日和密码
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...
- Prime Gift(prime)
Prime Gift(prime) 题目描述 Jyt有nn个质数,分别为p1,p2,p3-,pnp1,p2,p3-,pn. 她认为一个数xx是优秀的,当且仅当xx的所有质因子都在这nn个质数中. 她想 ...
- 一个request,但是controller被执行了多次的问题
原文发布时间为:2011-09-25 -- 来源于本人的百度文章 [由搬家工具导入] 这两天竟然被一个bug整疯了,因为项目调试的时候,通过 sql profiler 查看,竟然执行了多次的相同 查询 ...
- 不用框架使用ajax 纯js使用ajax post,get范例及其区别
原文发布时间为:2009-11-15 -- 来源于本人的百度文章 [由搬家工具导入] 不用框架使用ajax 纯js使用ajax post,get范例及其区别 ===================== ...
- about data type in c#
int: identical with int 32, capacity, Type Capacity Int16 -- (-32,768 to +32,767) Int32 (same with i ...
- eclipse去除所有调试断点 (转)
今天调试的时候发现之前加了太多断点,想去除所有断点,才想起来一直都没有使用过这个功能,放狗搜了一下,很快找到,记录一下. 方法一: 在工作界面,点window菜单栏,选中Preperences,在Ge ...
- 怎样录制简单GIF动图
看到视频里的精彩画面,想用动图的形式保存下来,应该如何录制呢,今天就介绍一款小巧实用,操作简单的软件,GifCam 2.0 汉化绿色版.相比其它的录制软件,它是免费无水印又可以在线录制的. 本来学习一 ...
- 项目中使用libsodium扩展
前段时间研究了微信小微商户,地址:https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=19_11 其接口操作中需要下载证书针对返回的密 ...
- 10.1综合强化刷题 Day1 afternoon
一道图论好题(graph) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图, ...
- 你知道如何在springboot中使用redis吗
特别说明:本文针对的是新版 spring boot 2.1.3,其 spring data 依赖为 spring-boot-starter-data-redis,且其默认连接池为 lettuce ...