您的位置:首页 > 编程语言 > C#

C# 参数的三种传递方式

2020-01-15 09:51 1121 查看

1 值传递  

 函数定义时可以设默认值,调用函数时不传参数则函数内部使用默认值,设置默认值的参数必须放在末尾

 值传递还有可变参数的传递 关键字 params

2 引用传递  ref关键字

  函数定义时不能设默认值

3 输出传递  out关键字 

  函数定义时不能设默认值

注意:使用out关键字传递的参数需要在函数内部初始化

[code]/// <summary>
/// C#参数传递方式
/// </summary>
class Program
{

static void Main(string[] args)
{
int a = 0;
TestValue(a);
Console.WriteLine("**值传递*输出  a={0}", a);
a = 0;
TestRef(ref a);
Console.WriteLine("引用传递*输出  a={0}", a);
a = 0;
TestOut(out a);
Console.WriteLine("输出传递*输出  a={0}", a);
//可变参数的两种传参方式
TestParams(a, 1, 2, 3, 1);
int[] b = new int[] { 5,6,8,9};
TestParams(b);
}
/// <summary>
/// 1值传递
/// </summary>
static void TestValue(int a,int b=6)
{
Console.WriteLine("**值传递*输入  a={0}", a);
a = 10+b;
}
/// <summary>
/// 引用传递
/// </summary>
static void TestRef(ref int a)
{
Console.WriteLine("引用传递*输入  a={0}", a);
a = 10;
}
/// <summary>
/// 输出传递
/// </summary>
static void TestOut(out int a)
{
//参数处于未赋值的状态,必须在函数内部初始化
//Console.WriteLine("输出传递*输入  a={0}", a);
a = 10;
}
/// <summary>
/// 可变参数
/// </summary>
/// <param name="a">可以传递一个数组,也可以传递单独的数组元素</param>
static void TestParams(params int[] a)
{
foreach (var item in a)
{
Console.Write(item + "  ");
}
Console.WriteLine();
}
}

以上代码输出结果:

  

  • 点赞
  • 收藏
  • 分享
  • 文章举报
MintYouth 发布了3 篇原创文章 · 获赞 0 · 访问量 396 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: