Les difficultés C# sont résolues une par une (2) : les paramètres de retour

黄舟
Libérer: 2016-12-22 14:05:06
original
1169 Les gens l'ont consulté

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(); 
} 
} 
}
Copier après la connexion

Résultats en cours d'exécution :

Les difficultés C# sont résolues une par une (2) : les paramètres de retour

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(); 
} 
}
Copier après la connexion

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(); 
}
Copier après la connexion

Effet opérationnel :

Les difficultés C# sont résolues une par une (2) : les paramètres de retour

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) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal