zoukankan      html  css  js  c++  java
  • 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 无需进行初始化。

  • 相关阅读:
    【Python】使用hashlib进行MD5和sha1摘要计算
    【Python】torrentParser1.04 增加获得磁力链URI功能
    day30_Hibernate复习_02
    day30_Hibernate学习笔记_02
    day29_Hibernate复习_01
    day29_Hibernate学习笔记_01
    【重要】Spring在web.xml中的配置原理说明
    HTTP常见错误编号
    一级缓存和二级缓存的理解
    电商网站前台与后台系统架构
  • 原文地址:https://www.cnblogs.com/rynerlute/p/6869745.html
Copyright © 2011-2022 走看看