C#中out与ref的区别实例解析

 更新时间:2014年08月21日 09:40:05   投稿:shichen2014  
这篇文章主要介绍了C#中out与ref的区别实例解析,对C#初学者有不错的学习借鉴价值,需要的朋友可以参考下

本文实例讲述了C#中Out与Ref的区别,可以加深C#程序设计人员对Out和Ref用法的理解,具体分析如下:

一、区别分析:

Out和Ref作为参数传递到方法体中,所传递的都是引用地址,两者在操作上本身没有区别。

但Out传递到方法体时,参数会清空,这意味着在方法体内使用Out参数前必须赋值。

Ref传递到方法体时,其参数也是一起被传递进来,所以作为Ref参数传递,方法体中可以不对其参数赋值

二、实例代码如下:

class Program
{
  /*ref是有进有出,out是只出不进*/
  static void Main(string[] args)
  {
    /*作为Out参数传递 传递前可以不初始化*/
    string outString = "This is the outString value";
    Console.WriteLine(outString);
    outMethod(out outString);
    Console.WriteLine(outString);

    /*作为Ref参数传递 传递前必须初始化*/
    string refString = "This is the refString value";
    Console.WriteLine(refString);
    refMethod(ref refString);
    Console.WriteLine(refString);
    Console.ReadLine();

  }
  static bool outMethod(out string str)
  {
    /*作为Out参数传递 传递到方法体后 参数被清空*/
    //Console.WriteLine(str); Use of unassigned out parameter 'str' 
    /*作为Out参数传递 值必须在方法体内赋值*/
    /*作为Out参数传递 返回前值必须初始化*/
    str = "This is the new outString value";
    return true;
  }
  static bool refMethod(ref string str)
  {
    Console.WriteLine(str);
    /*作为Ref参数传递 返回前值可以不初始化*/
    return true;
  }
}

希望本文所述实例对大家C#程序设计有一定的帮助。

相关文章

  • C#实现公式计算验证码的示例详解

    C#实现公式计算验证码的示例详解

    现在很多的平台已经不使用普通的数字、字母等验证码了,取而代之的是拼图类、选图类、旋转类或者计算类的验证码。本文将利用C#实现一个公式计算验证码,感兴趣的可以了解一下
    2022-10-10
  • C#编程实现获取文件夹中所有文件的文件名

    C#编程实现获取文件夹中所有文件的文件名

    这篇文章主要介绍了C#编程实现获取文件夹中所有文件的文件名,可实现获取特定目录下制定类型文件名称的功能,涉及C#针对文件与目录的遍历、查询等操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 一个基于C#开发的Excel转Json工具使用教程

    一个基于C#开发的Excel转Json工具使用教程

    JSON吸引了工具构建者的注意,它们开发了用于重新格式化、验证和解析JSON的众多工具,这不足为奇,下面这篇文章主要给大家介绍了一个基于C#开发的Excel转Json工具的相关资料,需要的朋友可以参考下
    2022-11-11
  • C#编程实现DataTable添加行的方法

    C#编程实现DataTable添加行的方法

    这篇文章主要介绍了C#编程实现DataTable添加行的方法,结合两个实例形式分析了C#操作DataTable实现动态添加行的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • c#中的yield return用法详解

    c#中的yield return用法详解

    这篇文章主要介绍了c#中的yield return用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • c# xml转word的实现示例

    c# xml转word的实现示例

    这篇文章主要介绍了c# xml转word的实现示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • C#使用Ado.net读取Excel表的方法

    C#使用Ado.net读取Excel表的方法

    这篇文章主要介绍了C#使用Ado.net读取Excel表的方法,涉及C#使用OLEDB操作Excel的方法,需要的朋友可以参考下
    2015-04-04
  • C#中File和FileStream的简单介绍和用法

    C#中File和FileStream的简单介绍和用法

    这篇文章主要给大家介绍了关于C#中File和FileStream用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • .NET WinForm实现在listview中添加progressbar的方法

    .NET WinForm实现在listview中添加progressbar的方法

    这篇文章主要介绍了.NET WinForm实现在listview中添加progressbar的方法,结合实例形式简单分析了进度条控件的添加与使用方法,需要的朋友可以参考下
    2017-05-05
  • C#中openFileDialog控件的使用方法

    C#中openFileDialog控件的使用方法

    在C#中,OpenFileDialog控件用于创建一个打开文件对话框,允许用户选择文件,OpenFileDialog提供了一种简单的方式来让用户选择一个或多个文件,并获取用户所选文件的路径,本文给大家详细介绍了C#中openFileDialog控件的使用方法,需要的朋友可以参考下
    2024-11-11

最新评论