ref参数

  ref参数

  不仅可以通过值为方法传递参数,还可以通过引用为方法传递参数,若通过引用为方法传递参数,需要使用ref关键字

  如果把一个参数传递给方法,且这个方法的输入参数前带有ref关键字,那么这个方法对参数所作的任何改变都会影响原来对象的值

  注意

  1:通过ref传递的引用参数,在函数成员调用之前,必须已赋值,如果没有明确赋值会报错

  实例

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;

  namespace _5_ref
  {
      class Program
      {
          static void Main(string[] args)
          {
              string sex = "男";
              Person person = new Person();
              string name = person.GetName(ref sex);
              Console.WriteLine("{0}{1}",name,sex);
              Console.ReadKey();
          }
      }

      class Person
      { 
          public string GetName(ref string strSex)
          {
              if (strSex == "男")
              {
                  strSex = "女";
                  return "韩梅梅";
              }
              else
              {
                  strSex = "男";
                  return "李磊";
              }
          }
      }
  }

  运行效果

  我们可以看到我们的sex的值本身发生了变化,变成了“女”

  

  

原文地址:https://www.cnblogs.com/menglin2010/p/2319149.html