当前位置: 首页 > 编程笔记 >

详解C#中三个关键字params,Ref,out

高博涉
2023-03-14
本文向大家介绍详解C#中三个关键字params,Ref,out,包括了详解C#中三个关键字params,Ref,out的使用技巧和注意事项,需要的朋友参考一下

关于这三个关键字之前可以研究一下原本的一些操作

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class Program
  {
    static void ChangeValue(int i)
    {
      i=5;
      Console.WriteLine("The ChangeValue method changed the value "+i.ToString());
    }
    static void Main(string[] args)
    {
      int i = 10;
      Console.WriteLine("The value of I is "+i.ToString());
      ChangeValue(i);
      Console.WriteLine("The value of I is " + i.ToString());
      Console.ReadLine();
    }
  }
}

观察运行结果发现

值并没有被改变,也就是说此时的操作的原理可能也是跟以前C语言的函数操作是一样的

本文主要讨论params关键字,ref关键字,out关键字。

  1)params关键字,官方给出的解释为用于方法参数长度不定的情况。有时候不能确定一个方法的方法参数到底有多少个,可以使用params关键字来解决问题。

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    public static void UseParams(params int [] list)
    {
      for(int i=0;i<list.Length;i++)
      {
        Console.WriteLine(list[i]);
      }
    }
    static void Main(string[] args)
    {
      UseParams(1,2,3);
      int[] myArray = new int[3] {10,11,12};
      UseParams(myArray);
      Console.ReadLine();
    }
  }
}

  2)ref关键字:使用引用类型参数,在方法中对参数所做的任何更改都将反应在该变量中

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    static void Main()
    {
      int val = 0;
      Method(ref val);
      Console.WriteLine(val.ToString());
    }
    static void Method(ref int i)
    {
      i = 44;
    }
  }
}

  3) out 关键字:out 与ref相似但是out 无需进行初始化。

以上所述是小编给大家介绍的C#中三个关键字params,Ref,out,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍实例详解C/C++中extern关键字,包括了实例详解C/C++中extern关键字的使用技巧和注意事项,需要的朋友参考一下 1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: exter

  • 本文向大家介绍详解C#中的out和ref,包括了详解C#中的out和ref的使用技巧和注意事项,需要的朋友参考一下 要想充分理解C# out和ref,必须先明确如下两个概念(对值类型与引用类型掌握比较好的,可以跳过“一、明确两个基本概念”) 一、明确两个基本概念 值类型:  定义:通过值的方式来传递,即实际参数向形式参数传递(关于形参和实参术语,这里不定义)。  存储方式:主要在栈中。  本质:通

  • 本文向大家介绍详解C# partial 关键字的使用,包括了详解C# partial 关键字的使用的使用技巧和注意事项,需要的朋友参考一下 什么是局部类型? C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工具生成的

  • 本文向大家介绍this关键字详解,包括了this关键字详解的使用技巧和注意事项,需要的朋友参考一下 Java提供了一个this关键字,this关键字总是指向调用该方法的对象。根据this出现的位置的不同,this作为对象的默认引用有两种情形。 1)构造器中引用该构造器正在初始化的对象。 2)在方法中引用调用该方法的对象。 this关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或者实例变

  • 本文向大家介绍C#中的out和ref关键字之间的区别,包括了C#中的out和ref关键字之间的区别的使用技巧和注意事项,需要的朋友参考一下 out关键字 out关键字用于将参数作为引用类型传递给方法,主要用于方法必须返回多个值时。ref关键字还用于将参数作为引用类型传递给方法,并且在要在方法中修改现有变量时使用。以下是C#中ref和out关键字的有效用法。 示例 输出结果 以下是ref和out关键

  • 本文向大家介绍javascript中this关键字详解,包括了javascript中this关键字详解的使用技巧和注意事项,需要的朋友参考一下 不管学习什么知识,习惯于把自己所学习的知识列成一个list,会有助于我们理清思路,是一个很好的学习方法。强烈推荐。 以下篇幅有点长,希望读者耐心阅读。 以下内容会分为如下部分: 1.涵义   1.1:this涵义   1.2:this指向的可变性 2.使用