码迷,mamicode.com
首页 > Windows程序 > 详细

C# out ref 重载

时间:2015-11-20 01:44:07      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

          今天看极客学院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

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

C# out ref 重载

标签:

原文地址:http://www.cnblogs.com/kim-meng/p/4979463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!