c# 중앙값 전송 및 참조 전송
2242 단어 c#
//
public class OrderInfo
{
public string OrderName { get; set; }
}
//
private void Change(OrderInfo order)
{
order = new OrderInfo();
order.OrderName = "Kevin";
}
//
private void btnChange_Click(object sender, EventArgs e)
{
OrderInfo order = new OrderInfo();
order.OrderName = "test";
Change(order);
Console.WriteLine(order.OrderName);
}
위의 결과는 테스트로 출력됩니다.
방법의 호출 전달은 사실상 하나의 대상의 인용 복제이기 때문에 이 부본의 인용을 끊은 후에 그에게 값을 부여한다. 새로운 인용은 원래의 인용 대상의 값을 바꾸지 않는다.
이전 참조를 전달하려면 ref 키워드를 사용해야 합니다.
//
private void ChangeRef(ref OrderInfo order)
{
order = new OrderInfo();
order.OrderName = "KevinRef";
}
//
private void btnChangeRef_Click(object sender, EventArgs e)
{
OrderInfo order = new OrderInfo();
order.OrderName = "test";
ChangeRef(ref order);
Console.WriteLine(order.OrderName);
}
인쇄 결과는 KevinRef입니다.
이때ref의 작용으로 인해 대상이 방법 간에 전달되는 것은 원래 인용에 따라 전달된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.