惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
Y
Y Combinator Blog
月光博客
月光博客
IT之家
IT之家
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
L
LangChain Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
博客园 - Franky
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
V
Visual Studio Blog
小众软件
小众软件
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium

博客园 - ZmStudio.CN

非常用的着的HTML标签,为代码网页减肥! 对ASP.NET中关于事件委托的理解 重构oninit,应用在模式窗口的方法 权限设计[摘录] Loading... 到 链接颜色的渐变 C# 中数据类型转换 Windows\explorer.com 等特症的病毒 - ZmStudio.CN - 博客园 今天用vs2005实践了写自己的WEB控件,继承自panel AJAX基础教程 硬盘分区整数G计算公式[转] 收集的几个超经典的程序(不得不佩服老外的智商) 将asp.net1.1的应用程序升级到asp.net2.0的一点心得 Automation服务器不能创建对象问题 从...中检测到有潜在危险的 Request.Form 值的解决办法 (转载)Worm.QQ.TopFox病毒信息 怎样在数据绑定到DATAGRID之前,先判断其中一个字段是否为空? 第一次用联接查询语句,豁然开朗!! 深入剖析VB.NET变量的使用 简单应用程序命名规则
c#中out和ref的使用级区别
ZmStudio.CN · 2006-11-03 · via 博客园 - ZmStudio.CN

       ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。使用ref前必须对变量赋值,out不用。
       out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。 

       如果你想返回多个值怎么办,OUT....

  区别可以参看下面的代码:

using system;
class testapp
{
 
static void outtest(out int x, out int y)
 {
//离开这个函数前,必须对x和y赋值,否则会报错。 
  
//y = x; 
  
//上面这行会报错,因为使用了out后,x和y都清空了,需要重新赋值,即使调用函数前赋过值也不行 
  x = 1;
  y 
= 2;
 }
 
static void reftest(ref int x, ref int y)
 { 
  x 
= 1;
  y 
= x;
 }
 
public static void main()
 {
  
//out test
  int a,b;
  
//out使用前,变量可以不赋值
  outtest(out a, out b);
  console.writeline(
"a={0};b={1}",a,b);
  
int c=11,d=22;
  outtest(
out c, out d);
  console.writeline(
"c={0};d={1}",c,d);//ref test
  int m,n;
  
//reftest(ref m, ref n); 
  
//上面这行会出错,ref使用前,变量必须赋值

  
int o=11,p=22;
  reftest(
ref o, ref p);
  console.writeline(
"o={0};p={1}",o,p);
 }

posted on 2006-11-03 09:06  ZmStudio.CN  阅读(494)  评论()    收藏  举报