C#에서 호출자로부터 여러 값을 반환하는 방법

C Eseo Hochuljalobuteo Yeoleo Gabs Eul Banhwanhaneun Bangbeob



C#으로 작업할 때 메서드에서 호출자에게 여러 값을 반환해야 하는 상황이 있을 수 있습니다. 이는 복잡한 데이터 또는 계산을 처리할 때 일반적으로 발생할 수 있으며 이 문서에서는 C#에서 여러 값을 반환하는 가장 일반적인 기술 중 일부를 살펴보겠습니다.

1: 매개 변수를 사용하여 C#에서 메서드 호출자에게 여러 값을 반환하는 방법

C#에서 여러 값을 반환하는 또 다른 방법은 out 매개 변수를 사용하는 것입니다. 이 경우 out 매개 변수는 참조로 메서드에 전달되는 변수이며 메서드에서 값을 반환하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.







시스템 사용;

공개 수업 프로그램
{
공공 정적 무효 메인 ( )
{
정수 [ ] 숫자 = { , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , } ;
int 최소, 최대;
GetMinMax ( 숫자, 최소값, 최대값 ) ;
콘솔.쓰기줄 ( $ '최소: {min}, 최대: {max}' ) ;
}

공공 정적 무효 GetMinMax ( 정수 [ ] 숫자, out int min, out int max )
{
최소 = 숫자 [ 0 ] ;
최대 = 숫자 [ 0 ] ;

~을 위한 ( 정수 i = 1 ; 나 < 숫자. 길이; 나++ )
{
만약에 ( 숫자 [ ] < )
{
최소 = 숫자 [ ] ;
}
만약에 ( 숫자 [ ] > 최대 )
{
최대 = 숫자 [ ] ;
}
}
}
}


여기에서 GetMinMax 메서드는 min 및 max에 대한 두 개의 출력 매개 변수와 함께 정수 배열을 입력으로 사용합니다. out 키워드는 이러한 변수가 메서드의 출력 값을 저장하는 데 사용됨을 나타내는 데 사용됩니다.

메서드 내에서 최소 및 최대 변수는 입력 배열의 첫 번째 값으로 초기화됩니다. 그런 다음 메서드는 배열의 나머지 값을 반복하여 발생한 값에 따라 필요에 따라 최소 및 최대 변수를 업데이트합니다.

마지막으로 메서드가 완료되면 min 및 max에 대한 업데이트된 값이 out 매개 변수를 통해 반환됩니다. Main 메서드에서 이러한 출력 값은 WriteLine 메서드를 사용하여 콘솔에 인쇄됩니다.

out 키워드를 사용하여 여러 값을 반환하는 것은 메서드에서 둘 이상의 값을 반환해야 하는 상황에서 유용한 기술이 될 수 있습니다. 그러나 out 매개 변수를 사용하면 특히 더 복잡한 코드를 처리할 때 코드를 읽고 이해하기가 더 어려워질 수 있으며 일반적으로 이 기술을 필요한 경우에만 드물게 사용하는 것이 좋습니다.

2: 사용자 지정 클래스를 사용하여 C#에서 메서드 호출자에게 여러 값을 반환하는 방법

C#에서 여러 값을 반환하는 세 번째 방법은 사용자 지정 클래스를 사용하고 반환하려는 각 값에 대한 속성 또는 필드를 포함하는 클래스를 만든 다음 메서드에서 클래스의 인스턴스를 반환하는 것입니다. 예를 들면 다음과 같습니다.

시스템 사용;

네임스페이스 MyNamespace
{
공개 클래스 MinMaxResult
{
공공 int 분 { 얻다; 세트 ; }
공공 int 최대 { 얻다; 세트 ; }
}
공개 정적 클래스 MinMaxCalculator
{
공개 정적 MinMaxResult GetMinMax ( 정수 [ ] 숫자 )
{
정수 분 = 숫자 [ 0 ] ;
정수 최대 = 숫자 [ 0 ] ;
~을 위한 ( 정수 i = 1 ; 나 < 숫자. 길이; 나++ )
{
만약에 ( 숫자 [ ] < )
{
최소 = 숫자 [ ] ;
}
만약에 ( 숫자 [ ] > 최대 )
{
최대 = 숫자 [ ] ;
}
}
반품 새로운 MinMaxResult { 최소 = 최소, 최대 = 최대 } ;
}
}
수업 프로그램
{
정적 무효 메인 ( [ ] 인수 )
{
정수 [ ] 숫자 = { 1 , 2 , , 4 , 5 , 6 , 7 , 8 , 9 } ;
MinMaxResult 결과 = MinMaxCalculator.GetMinMax ( 숫자 ) ;
콘솔.쓰기줄 ( $ '최소: {result.Min}, 최대: {result.Max}' ) ;
}
}
}


이 C# 코드는 'MinMaxResult' 및 'MinMaxCalculator'라는 두 클래스를 포함하는 'MyNamespace'라는 네임스페이스를 정의합니다.

'MinMaxResult' 클래스에는 각각 최소값과 최대값을 저장하는 데 사용되는 'Min'과 'Max'의 두 가지 속성이 있습니다.

'MinMaxCalculator' 클래스는 정적으로 선언되며 정수 배열을 입력으로 사용하는 'GetMinMax'라는 단일 메서드가 있습니다. 이 방법은 루프를 사용하여 배열을 반복하고 최소값과 최대값을 찾습니다. 그런 다음 'MinMaxResult' 클래스의 새 인스턴스를 만들고 메서드의 출력으로 반환하기 전에 찾은 값으로 'Min' 및 'Max' 속성을 초기화합니다.

마지막으로 'Program' 클래스에는 프로그램의 진입점인 'Main'이라는 정적 메서드가 포함되어 있으며 이 메서드에서 정수 배열이 초기화되고 'MinMaxCalculator' 클래스의 'GetMinMax' 메서드로 전달되어 최소값과 최대값.

결론

C#에서 메서드 호출자에게 여러 값을 반환하는 것은 복잡한 데이터나 계산 작업을 할 때 중요한 기능일 수 있습니다. out 매개 변수 및 사용자 지정 클래스와 같은 여러 값을 반환하는 데 사용할 수 있는 다양한 기술을 이해하면 특정 상황에 가장 적합한 접근 방식을 선택할 수 있습니다. 이러한 기술을 사용하면 코드를 보다 효율적이고 읽기 쉽게 만들 수 있으며 궁극적으로 애플리케이션의 성능을 향상시킬 수 있습니다.