任何人都可以建议我确切使用out关键字作为参数,以及它如何连接从函数返回多个值,如在POST中,我与变量与正常变量混淆.任何人都可以帮助我.

解决方法:

这经常令人困惑,我认为MSDN文档实际上有点“只有在已知的情况下才会清楚”.也就是说,它是正确的,但只有你已经理解了这个概念才真正有意义.

这是我如何看待它.

常规参数生成参数值的副本.当你说:

static int M(int z) { z = z + 1; return z; }

...

int x = 123;

int y = M(x);

就像你说的那样:

int x = 123;

int z = x; // make a copy of x

z = z + 1;

int y = z;

ref或out参数为现有变量创建别名.当你说

static void N(ref int q) { q = q + 1; }

...

int x = 123;

N(x);

这跟说:

int x = 123;

// MAGIC: q is now an another name for variable x

q = q + 1;

q和x是两个不同的名称,它们指的是同一个变量.递增q也会增加x,因为它们是相同的.前一个示例中的z和x是两个不同的名称,它们指的是两个不同的变量.增加z不会改变x.

总结:“out”和“ref”只是表示“不要创建新变量;而是暂时为现有变量创建第二个名称”.

那现在清楚了吗?

更新:我没有说“out”和“ref”之间的区别是什么.区别很简单.在“调用方”一侧,在调用方法之前,“ref”必须是明确赋值的变量. “出局”不一定是.在“被调用方”一侧,可以在写入之前读取“ref”,但必须在读取之前写入“out”.此外,必须在控制正常离开方法之前写入“out”.

标签:c,net,keyword,out

来源: https://codeday.me/bug/20190712/1442417.html

c# out关键字 vb_在c#中使用out关键字相关推荐

  1. python中关键字参数含义_python中接受任意关键字的参数

    1.*args args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写. 2.*kwargs kwargs是键值对参数,为了方便记忆我理解它是key word argu ...

  2. python里的关键字有哪些_Python中的yield关键字做了什么?

    Python中的yield关键字做了什么 要理解yield做了什么,就必须明白生成器(generators)为何物,而在明白生成器之前还要知道迭代器(iterables). 1.迭代器 当我们创建一个 ...

  3. python关键字define_在Python中,使用关键字define定义函数。

    在Python中,使用关键字define定义函数. 以下属于生药学有效性评价的是A:有效成分定量分析B:限量检查C:重金属检测D:基原鉴定 若有如下定义和语句:A:7B:12C:8D:9 图示电路中的 ...

  4. 输入c语言用哪个关键字,在C语言中什么叫关键字,怎么用

    C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字.控制语句关键字.存储类型关键字和其它关键字四类. 1.数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) ...

  5. final关键字_深入分析Java中的final关键字

    Java中被final修饰的变量与普通变量有何区别?被final修饰的变量不可更改.被final修饰的方法不可重写是怎样做到的?带着疑问我们一点点拨开云雾. 一.final的内存定义及规则 对于fin ...

  6. oracle里的关键字有哪些,oracle中的一些关键字

    SGA--系统全局区,是一个分配给Oracle 的包含一个 Oracle 实例的数据库的控制信息内存段. 主要包括数据库高速缓存(the database buffer cache), 重演日志缓存( ...

  7. [5] Java中的static关键字

    Java中的static关键字 文章目录 Java中的static关键字 static的基本概念 static修饰类中的成员 static修饰主类中的方法 static修饰类中的方法 static修饰 ...

  8. java中标识符,关键字,数据类型

    什么是标识符? 在java语言中用来给一个类,变量或方法命名的符号 标识符的命名规则 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. ...

  9. C++中的const关键字(zz)

    [补充]mutable关键字 有时我们希望类的数据成员即使在const成员函数中,依然是可以修改的,这时就可以把它们声明为mutable来实现.这样的应用,比如记录各种操作的调用次数,这时,即使在co ...

最新文章

  1. Mysql默认隔离级别为什么是可重复读?
  2. 【python】set集合基础与使用
  3. 小米Civi 1S获美女产品经理确认:依旧是最美小米机型
  4. 太极图正确画法_认识道教太极图,了解正规画法
  5. Java基础学习总结(148)——如何提高代码质量
  6. 圆周移位是怎么移的_【装修干货】马桶移位改造全攻略,总有一天你能用得上!赶紧收藏...
  7. Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0
  8. intel ax200ngw刷killer 1650x教程
  9. 卡通头像生成器Avataaars generator
  10. Android 5.0、6.0、7.0、8.0、9.0 新特性,DownloadManager踩坑记
  11. 腾讯互娱面经-游戏客户端开发
  12. 重看经典动漫《火影忍者》的一些感受
  13. 固态硬盘和传统硬盘的区别
  14. html表单设计姓名性别,编写一个表单页面census.html,让用户填写姓名、性别(男女选择)、兴趣(运动,读书,音乐,书法及其他)...
  15. 周鸿祎为短视频狂砸百亿
  16. Tinyos2.x相关资料
  17. 合并两个递增的有序数组
  18. 通过网页或者移动设备链接跳转qq(tim)添加好友(群)
  19. 字节跳动:抖音、西瓜、火山区别
  20. MBA案例分析(管理之道在于“借力”三)

热门文章

  1. GoogLeNet学习
  2. transpose公式_EXCEL转置你是用公式还是选择性粘贴?
  3. 信息收集 ——C段扫描
  4. java hashmap遍历顺序_Java中HashMap遍历的两种方式
  5. mysql.5.5.21_centos6下mysql-5.5.21的安装
  6. Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)
  7. Android通过广播实现强制下线功能
  8. double 去掉小数点_JAVA编程有一个小数,如何去掉小数部分
  9. Lintcode9 Fizz Buzz solution 题解
  10. 网站前端性能优化之javascript和css