C#의 ref 및 out
static void Main()
{
int number = 10;
add(number);
Console.WriteLine(number);
Console.ReadLine();
}
static void add(int number)
{
number = number+number;
Console.WriteLine(number);
}
ref 용도
ref는 수식 방법에 사용되는 매개 변수입니다. ref에 의해 수식된 매개 변수는 호출할 때 인용으로 전달됩니다.방법에서 파라미터를 수정할 때, 호출자가 전달하는 변수의 값도 바뀐다.호출할 방법의 매개 변수 중ref로 장식된 매개 변수가 있다면, 이 매개 변수는 전달하기 전에 초기화해야 합니다.다음 예를 참조하십시오.
static void Main()
{
int x = 10;
TestRef(ref x); // x
Console.WriteLine(x); // 20
}
static void TestRef( ref int number1) // 10
{
Console.WriteLine("TestRef "+ number1); //10
number1 += number1;
Console.WriteLine("TestRef " + number1);// 20
}
out 용도
out도 수식 방법에 사용되는 매개 변수입니다.ref와 유사합니다. out에 수식된 매개 변수는 호출할 때 인용으로 전달됩니다.방법에서 파라미터를 수정할 때, 호출자가 전달하는 변수의 값도 바뀐다.호출할 방법의 매개 변수 중out 수식의 매개 변수가 있다면, 이 매개 변수는 전달하기 전에 초기화할 필요가 없습니다.아래의 예를 보아라
static void Main()
{
int y;
TestOut(out y);
Console.WriteLine(y); //30
Console.ReadLine();
}
static void TestOut(out int number1)
{
number1 = 30;
Console.WriteLine("TestOut " + number1); // 30
}
ref와 out의 차이점:
ref 수식의 매개 변수는 전달하기 전에 초기화해야 합니다.out 수식의 매개 변수는 전달하기 전에 초기화하지 않을 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.