zoukankan      html  css  js  c++  java
  • C# 函数的 (引用参数 和 值参数)

    今天已经开始学习 函数的参数部分了:
    学习总结:
    1.每个参数都有一个类型和一个名称,每个参数都在函数的代码中用作一个变量.
    2.在调用参数时,必须使参数与函数定义中指定的参数完全匹配(类型、个数、顺序)。
    3.参数数组:
       C#允许指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。可以使用参数个数不定的参数调用函数,它可以使用 params 关键字来定义。
    下面是参数数组的例子:
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {

                //下面是参数数组.
            static int SumVals(params int[] vals)
            {
                int sum = 0;
                foreach (int val in vals)
                {
                    sum += val;
                }
                return sum;

            }

            static void Main(string[] args)
            {
                //double[,] hillHeight = { { 1, 2, 3, 4 }, { 2,3,4,5}, { 3,4,5,6} };  //定义及初始化二维数组
                //foreach(double height in hillHeight)
                //{
                //    Console.WriteLine("{0}",height);
                //}
                //Console.ReadKey();

                int sum=SumVals(1,3,4,5,7,5);
                Console.WriteLine("SumVals数组的和是:{0}",sum);
                Console.ReadKey();
            }
        }
    }


    4.引用参数和值参数
           引用参数相当于是引用参数的地址,函数定义时和函数调用时都必须用 ref 关键字,在调用函数参数的值改变将会影响到参数的实际值,而值参数则不会改变。

    使用引用参数时须注意2点:
    (1).参数必须是变量类型,不能是常量。
    (2).参数调用时,参数必须已经初始化,不能使参数在调用函数中初始化,这是不允许的。

    下面是一个引用参数的例子:注意关键字 ref, 去掉 ref 就是值参数。
    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static int Double(ref int val)
            {
                val = val * 2;
                return val;
            }

            static void Main(string[] args)
            {
                Console.WriteLine("请输入一个数:");
                int val = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("您刚才输入的值 val={0}",val);

                Console.WriteLine("Double(val)={0}",Double(ref val));
                Console.WriteLine("经函数处理之后的val={0}",val);
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    Python学习笔记5
    Python字符串的encode与decode
    python代码`if not x:` 和`if x is not None:`和`if not x is None:`
    关于sys.argv
    Python学习笔记4
    Python学习笔记3
    Python学习笔记2
    生产者消费者_测试
    进程管理
    软件包管理
  • 原文地址:https://www.cnblogs.com/gfwei/p/524790.html
Copyright © 2011-2022 走看看