zoukankan      html  css  js  c++  java
  • C# out ref 重载

              今天看极客学院wiki时候看到了out,ref的介绍,之前对这个知识点没有深刻认识,所以就写了个小测试看了下,瞬间明白了。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace DemoTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                //1、两都在函数体的任何修改都将影响到外面。
                //2、ref必段在函数体外初始化。
                //3、out必须在函数体内初始化,在外面初始化没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。
                int i = 3;
                int k = 9;
                int m;
                int n = 10;
                ADD(i, k);
                ADD(out m, ref n);
                Console.WriteLine("i={0}",i);
                Console.WriteLine("k={0}", k);
                Console.WriteLine("m={0}", m);
                Console.WriteLine("n={0}", n);
                Console.ReadLine();
            }
            public static void ADD(out int i, ref int k)
            {
                i = 5;
                k = k - 4;
            }
            public static void ADD(int i, int k)
            {
                i = i - 5;
                k = k - 4;
            }
        }
    }

    结果:


    看完这个后,又联想到了,重载的定义。

    重载:同一个作用域内发生,定义一系列同名方法,但是方法的参数列表不同。然后我就迷糊了,我们这里采用out,ref 定义的方法参数列表算是重载么?

    我们通过关键字的不同,运行过程调用了不同的方法。我们可以认定为方法的重载。

    学习过程参阅了: http://blog.csdn.net/xiaoning8201/article/details/6893154

    学习笔记,如有错误,欢迎批评指正。

  • 相关阅读:
    linux——进程管理
    linux——软件管理
    linux——压缩打包
    linux——输入输出
    linux——ACL控制
    linux——特殊权限
    linux——基本权限
    linux——用户管理
    单源最短路spfa(队列优化)
    getline读取
  • 原文地址:https://www.cnblogs.com/kim-meng/p/4979463.html
Copyright © 2011-2022 走看看