• 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 无需进行初始化。

  • 相关阅读:
    oracle后台进程详解
    解决表格撑开浏览器问题,即自动换行问题
    文件后缀名修改或添加——字符串转换
    Struts1 action重定向跳转 带参数
    js 正则表达式
    js获取焦点
    select值的获取及修改
    iframe自适应高度,根据src中页面来得到。
    今个忽然晓得,原来radio不是普通去获取值的!
    查询时,如何保存获取相关路径url
  • 原文地址:https://www.cnblogs.com/rynerlute/p/6869745.html
Copyright © 2020-2023  润新知