Maison  >  Article  >  développement back-end  >  Explication détaillée des trois mots-clés en C# (params, Ref, out)

Explication détaillée des trois mots-clés en C# (params, Ref, out)

黄舟
黄舟original
2017-05-21 10:47:011545parcourir

Cet article traite principalement du mot-clé params, du mot-clé ref et du mot-clé out. C'est très bien et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

Avant de pouvoir étudier ces trois mots-clés, vous pouvez étudier quelques opérations originales

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class Program
  {
    static void ChangeValue(int i)
    {
      i=5;
      Console.WriteLine("The ChangeValue method changed the value "+i.ToString());
    }
    static void Main(string[] args)
    {
      int i = 10;
      Console.WriteLine("The value of I is "+i.ToString());
      ChangeValue(i);
      Console.WriteLine("The value of I is " + i.ToString());
      Console.ReadLine();
    }
  }
}

Observez les résultats en cours d'exécution. et découvrez

La valeur

n'a pas été modifiée, ce qui signifie que le principe de fonctionnement à ce moment peut être le même que la fonction précédente fonctionnement du langage C

Cet article traite principalement du mot-clé params, du mot-clé ref et du mot-clé out.

1) mot-clé params, l'explication officielle est qu'il est utilisé lorsque la longueur du paramètre de méthode est variable. Parfois, vous n'êtes pas sûr du nombre de paramètres d'une méthode. Vous pouvez utiliser le mot-clé params pour résoudre le problème.

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    public static void UseParams(params int [] list)
    {
      for(int i=0;i<list.Length;i++)
      {
        Console.WriteLine(list[i]);
      }
    }
    static void Main(string[] args)
    {
      UseParams(1,2,3);
      int[] myArray = new int[3] {10,11,12};
      UseParams(myArray);
      Console.ReadLine();
    }
  }
}

 2) mot-clé ref : utilisez pour référencer le paramètre de type . Toute modification apportée au paramètre dans la méthode sera reflétée dans la variable

using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
  class number
  {
    static void Main()
    {
      int val = 0;
      Method(ref val);
      Console.WriteLine(val.ToString());
    }
    static void Method(ref int i)
    {
      i = 44;
    }
  }
}
 3) mot-clé out : out est similaire à ref mais out n'a pas besoin d'être initialisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn