【C#学习笔记】各种定义方法的例子

虽然学C#有段时间了,但是基础不牢靠,都是走马观花的,学.Net framework时没法深入进去,现在回头从头系统学习,把一些东西记录在博客里,闲着没事就回头来看看,加深自己的语法印象,高手们就不用来看了,都是些基础东西,就是个笔记,和我一样走马观花的菜鸟朋友,可以经常来看看,让自己语法基础加深一下,未尝不是好事。

        //有返回值方法
        
//调用例子: 
        
//int i = 2;
        
//int result = Add(i);
        
//Console.WriteLine(result);
        
//Console.WriteLine(i);
        
//输出后结果为3和2
        
//参数为值类型,原值不被修改
        public static int Add(int ToNumber) 
        {
            
int sum = 0;
            
for (int i = 1; i <= ToNumber; i++
            {
                sum 
+= i;
            }
            
return sum;
        }

        
//无返回值方法
        
//调用例子: 
        
//AddVoid(2);
        
//输出后结果为3
        public static void AddVoid(int ToNumber)
        {
            
int sum = 0;
            
for (int i = 1; i <= ToNumber; i++)
            {
                sum 
+= i;
            }
            Console.WriteLine(sum);
        }

        
//引用类型方法
        
//调用例子
        
//Test obj = new Test();
        
//AddObject(obj);
        
//Console.WriteLine(obj.Number);
        
//输出结果为3
        
//传入obj对象的的Number属性,原属性值是1,传入后,对象的属性也被修改
        
//引用类型参数是传地址,不是传值,所有引用类型的原值也会被修改
        public static void AddObject(Test obj) 
        {
            obj.Number 
+= 2;
        }

        
//数组参数方法
        
//调用例子
        
//int[] Number = { 1, 2 };
        
//int result = AddArray(Number);
        
//Console.WriteLine(result);
        
//输出结果为3
        public static int AddArray(int[] ToNumber) 
        {
            
int num = 0;
            
foreach (var i in ToNumber)
            {
                num 
+= i;
            }
            
return num;
        }

        
//数组参数简化简化调用
        
//调用例子
        
//int Result = AddArrayV2(1, 2, 3);
        
//Console.WriteLine(Result);
        
//输出结果为6
        
//这种写法简化数组参数,调用时不需要定义数组,会自动将参数转换为数组值处理
        public static int AddArrayV2(params int[] ToNumber)
        {
            
int num = 0;
            
foreach (var i in ToNumber)
            {
                num 
+= i;
            }
            
return num;
        }

        
//传地址参数,参数必须初始值
        
//调用例子
        
//int Number = 2;
        
//AddRef(ref Number);
        
//Console.WriteLine(Number);
        
//输出结果为4
        
//普通的写法值类型是直接传值,引用类型传地址
        
//虽然Number是值类型,但是用ref就变成传地址了,所以原值也会被修改
        
//注意的是,调用的时候也要加ref,而且参数传入前必须有初始值
        public static void AddRef(ref int ToNumber)
        {
            ToNumber 
+= 2;
        }

        
//传地址参数,参数无初始值
        
//调用方法
        
//int Number;
        
//AddOut(out Number);
        
//Console.WriteLine(Number);
        
//输出结果为3
        
//此方法和ref一样,也是将值类型参数传入地址,原值也会被修改
        
//与ref不同的是,参数有方法体提供初始值
        public static void AddOut(out int ToNumber)
        {
            ToNumber 
= 1;
            ToNumber 
+= 2;
        }
原文地址:https://www.cnblogs.com/huanghai/p/1886122.html