【C#】方法(函数)介绍、变量作用域、方法的重载、方法的out参数和ref参数

一、方法(函数)介绍

  • 函数就是将一堆代码进行重用的一种机制。
  • 方法的定义:看见static就是静态方法
[访问修饰符] [static] 返回值(没有返回值写void,有就写返回值的类型) 方法名([参数列表])
{
    方法体;
}
  • 命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义
  • 方法的调用,对于有static修饰的方法,调用有两种方式
    1. 如果在同一个类中,直接写方法名调用。
    2. 类名.方法名()
  •  return可以立即退出方法。没有返回值,可以不写return;有返回值,会加上return。

 二、变量的作用域

  • 在方法中定义的变量称为局部变量,其作用域从定义开始,到其所在的大括号结束为止。
  • 在一个方法中想要访问另一个方法中的变量,有两种解决方法:参数和返回值 

 三、方法的重载

  • 在面向对象的语言中,允许我们在同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式我们称为方法重载。调用时编译器会根据实际传入参数的形式,选择与其匹配的方法执行。
  • 构成重载的条件:
  1. 方法名相同。
  2. 方法参数类型不同或者参数个数不同。
  3. 在同一个类中。
static void SayHello(string name)
{
    Console.WriteLine("我是{0}",name);
}

static void SayHello(int age)
{
    Console.WriteLine("我的年龄{0}",age);
}
static void SayHello(string name)
{
    Console.WriteLine("我是{0}",name);
}

static void SayHello(string name,string nickname)
{
    Console.WriteLine("我是{0},昵称是{1}",name,nickname);
}

四、方法的out参数和ref参数

  • out修饰方法的参数了,那么 在方法外面 可以不给这个参数赋值,但是在方法里面必须给这个out修饰符的参数赋初值。参数加out,是把这个方法中的参数的值传到方法外面去了
class Program
    {
        static void Main(string[] args)
        {
            int num1;
            int num2 = 80;
            int numSum = Show(out num1, num2);

            Console.WriteLine(num1);
            Console.WriteLine(num2);
            //out修饰方法的参数了,那么 在方法外面 可以不给这个参数赋值,但是在方法里面必须给这个out修饰符的参数赋初值
            //另外,参数加out,是把这个方法中的参数的值传到方法外面去了

        }
        public static int Show(out int number1, int number2)
        {
            number1 = 90;
            return number1 + 10;
        }
    }

结果: 

  • ref用的时候必须要给这个变量赋初值,和out有区别。
  • out可以把方法里的值传出去。
  • ref可以把值传到方法里,又可以把值传到方法外。 
class Program
    {
        static void Main(string[] args)
        {
            int number1=10;
            int number2 = 20;

            int sum=Show(ref number1, ref number2);

            Console.WriteLine("{0},{1},{2}",number1,number2,sum);
            Console.ReadKey();

            //ref 用的时候必须要给这个变量赋初值,和out有区别,
            //out可以把方法里的值传出去,
            //ref,可以把值传到方法里,又可以把值传到方法外;            
        }
        public static int Show(ref int num1,ref int num2)
        {
            num1 = 100;
            num2 = 200;
            return num1 + num2;
        }
    }

结果:

发布了70 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hsm_Jasmine/article/details/99711028