ref和out关键字的用法与区别
2018-01-26 22:24
288 查看
这两个关键字还是很常用的,尤其是out可以用于返回多个参数。
2.若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字,传递到 ref 参数的参数必须最先初始化。
=》简单演示:
class Program
{
static void Main(string[] args)
{
List<int> list = new List<int>() { 1, 2, 3 };
Console.Write("调用方法之前:");
foreach (var item in list)
{
Console.Write(item+",");
}
AddList(ref list);
Console.WriteLine();
Console.Write("调用方法之后:");
foreach (var item in list)
{
Console.Write(item+",");
}
Console.ReadKey();
}
//改变list的值,但是方法没有任何返回值
static void AddList(ref List<int> list)
{
list.Add(4);
}
}
![](https://img-blog.csdn.net/20180126221141933?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h3ZW5iaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2.out的主要作用:当方法有多个返回值时,可以通过out参数来获取方法的返回值。
=》简单演示:
![](https://img-blog.csdn.net/20180126222340821?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h3ZW5iaW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
ref:
1.ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中,联想一下浅拷贝。2.若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字,传递到 ref 参数的参数必须最先初始化。
=》简单演示:
class Program
{
static void Main(string[] args)
{
List<int> list = new List<int>() { 1, 2, 3 };
Console.Write("调用方法之前:");
foreach (var item in list)
{
Console.Write(item+",");
}
AddList(ref list);
Console.WriteLine();
Console.Write("调用方法之后:");
foreach (var item in list)
{
Console.Write(item+",");
}
Console.ReadKey();
}
//改变list的值,但是方法没有任何返回值
static void AddList(ref List<int> list)
{
list.Add(4);
}
}
out:
1.out参数在传递之前没有必要初始化,在方法中必须赋值。2.out的主要作用:当方法有多个返回值时,可以通过out参数来获取方法的返回值。
=》简单演示:
class Program { static void Main(string[] args) { DateTime date;//无需初始化 string dateString = "2018-01-26"; bool res = TryParse(dateString, out date); Console.WriteLine(res); Console.WriteLine(date); Console.ReadKey(); } //时间字符串转DateTime对象 static bool TryParse(string dateString, out DateTime date) { date = new DateTime(); try { date = DateTime.Parse(dateString); return true; } catch { return false; } } }
相关文章推荐
- ref out 关键字用法与区别详解
- C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解
- ref out 关键字用法与区别详解
- c#中out、ref和params的用法与区别
- C# Out/Ref关键字的理解和区别
- params,out和ref的关键字区别
- C# 关键字ref 和out 的详细区别
- ref 和 out 的用法和区别以及params用法
- ref和out的区别用法
- 【学习笔记】C#中Ref和Out关键字的区别:
- params,out和ref的关键字区别
- C#中ref与out 关键字的区别
- C#里面ref和out关键字使用与区别
- C#中 ref和 out关键字的区别
- c#中out、ref和params的用法与区别
- C# 中的ref & out关键字 的区别
- c#值传递和引用传递,以及ref和out关键字的区别
- C#中ref、out类型参数的区别和params类型参数的用法
- C#中关键字ref与out的区别(原创)
- ref 和out的用法以及区别