Le passage par valeur (par valeur) et le passage par adresse (par référence) sont respectivement la méthode ordinaire de transmission des paramètres et la méthode de déclaration ref. La méthode de passage par adresse doit être modifiée avec le mot-clé ref avant utilisation ; est le transfert de retour de sortie, qui est le même que ref. De plus, la différence importante est que la ref mentionnée dans la section précédente doit être initialisée dans la méthode référencée out doit avoir une valeur de retour dans la méthode référencée ;
using System; /****************************** * Chapter:C#难点逐个击破(一) * Author:王洪剑 * Date:2010-1-15 * Blog:http://www.51obj.cn/ * Email:walkingp@126.com * Description:重点讲解输出参数out * ***************************/ namespace TestOut { class Program { /// <summary> /// out的输出值、返回值 /// </summary> /// <param name="name"></param> /// <returns></returns> static string OutResultMethod(out string name) { string _name = "Wang Hongjian"; name = _name; string __name = "Zheng Zi"; return __name; } static void Main(string[] args) { string _name = "Zhang Yu"; Console.WriteLine("调用前:{0}", _name); string result= OutResultMethod(out _name); Console.WriteLine("调用后:{0}",_name); Console.WriteLine("返回结果:{0}",result); Console.ReadKey(); } } }
Résultats en cours d'exécution :
out est davantage utilisé dans les projets réels car out peut renvoyer plusieurs valeurs
class Program { /// <summary> /// out的输出值、返回值 /// </summary> /// <param name="name"></param> /// <returns></returns> static string OutResultMethod(out string name,out string password) { string _name = "Wang Hongjian"; name = _name; string _password = "123456"; password = _password; string __name = "Zheng Zi"; return __name; } static void Main(string[] args) { string _name = "Zhang Yu"; string _password; Console.WriteLine("调用前:{0}", _name); string result = OutResultMethod(out _name, out _password);//多个参数传递 Console.WriteLine("调用后:{0}",_name); Console.WriteLine("返回结果:{0}",result); Console.ReadKey(); } }
En pensant à plusieurs paramètres, vous devez avoir pensé à utiliser un tableau. Oui, utiliser des tableaux est un bon moyen. Le tableau lui-même regroupe et "encapsule" les paramètres du même type dans un objet et les transmet à la méthode, ce qui peut simplifier. plusieurs paramètres. L’écriture de méthodes peut également produire des effets similaires à une surcharge.
static void OutArrayMethod(out string[] strArr) { int i = 0; string[] _strArr = new string[10]; while (i < _strArr.Length) { _strArr[i] = "第" + i + "个成员"; i++; } strArr = _strArr; } static void Main(string[] args) { string[] _strArr=new string[10]; OutArrayMethod(out _strArr); foreach (string str in _strArr) { Console.WriteLine(str); } Console.ReadKey(); }
Effet opérationnel :
Ce qui précède est le contenu de la difficulté C# (2) : hors paramètre de retour, veuillez faire attention à PHP pour plus de contenu connexe sur le site Web chinois (www.php.cn) !