>  기사  >  백엔드 개발  >  C#의 어려움은 하나씩 해결됩니다(2): 반환 매개변수 출력

C#의 어려움은 하나씩 해결됩니다(2): 반환 매개변수 출력

黄舟
黄舟원래의
2016-12-22 14:05:061104검색

값으로 전달(값으로) 및 주소로 전달(참조로)은 각각 매개변수를 전달하는 일반적인 방법과 ref 선언 방법으로 사용하기 전에 ref 키워드로 수정해야 합니다. ref와 동일한 출력 반환 전송입니다. 더 중요한 차이점은 이전 섹션에서 언급한 ref가 참조된 메서드에서 초기화되어야 한다는 것입니다. out은 참조된 메서드에 반환 값이 있어야 합니다.

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(); 
} 
} 
}

실행 결과:

C#의 어려움은 하나씩 해결됩니다(2): 반환 매개변수 출력

out은 여러 값을 반환할 수 있기 때문에 실제 프로젝트에서 더 자주 사용됩니다. ​​

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(); 
} 
}

여러 개의 매개변수를 생각한다면 배열을 사용하는 것을 생각해 보셨을 것입니다. 배열 자체가 동일한 유형의 매개변수를 객체로 패키징하고 "캡슐화"하여 메소드에 전달하는 것입니다. 여러 매개변수를 단순화합니다. 메서드를 작성하면 오버로드와 유사한 효과를 얻을 수도 있습니다.

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(); 
}

작동 효과:

C#의 어려움은 하나씩 해결됩니다(2): 반환 매개변수 출력

위 내용은 C# 난이도(2)의 내용입니다. 출력 반환 매개 변수는 PHP에 주의하세요. 더 많은 관련 컨텐츠 중국사이트 (www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.