Cách trả về nhiều giá trị từ một người gọi trong C#

Cach Tra Ve Nhieu Gia Tri Tu Mot Nguoi Goi Trong C



Khi làm việc với C#, có thể có những tình huống yêu cầu trả về nhiều giá trị từ một phương thức cho người gọi. Điều này có thể xảy ra phổ biến khi xử lý dữ liệu hoặc phép tính phức tạp và trong bài viết này, chúng ta sẽ khám phá một số kỹ thuật phổ biến nhất để trả về nhiều giá trị trong C#.

1: Cách Trả về Nhiều Giá trị cho Trình gọi Phương thức trong C# Sử dụng Tham số

Một cách khác để trả về nhiều giá trị trong C# là sử dụng tham số out và trong trường hợp đó, tham số out là một biến được truyền cho một phương thức theo tham chiếu và có thể được sử dụng để trả về một giá trị từ phương thức, đây là một ví dụ:







sử dụng Hệ thống;

chương trình lớp công cộng
{
khoảng trống tĩnh công khai Chính ( )
{
int [ ] số = { 3 , 1 , 4 , 1 , 5 , 9 , 2 , 6 , 5 , 3 } ;
int tối thiểu, tối đa;
GetMinMax ( số, ra tối thiểu, ra tối đa ) ;
Console.WriteLine ( $ 'Tối thiểu: {min}, Tối đa: {max}' ) ;
}

khoảng trống tĩnh công khai GetMinMax ( int [ ] số, ra int min, ra int max )
{
tối thiểu = số [ 0 ] ;
tối đa = số [ 0 ] ;

( int tôi = 1 ; Tôi < số.Chiều dài; tôi ++ )
{
nếu như ( con số [ Tôi ] < tối thiểu )
{
tối thiểu = số [ Tôi ] ;
}
nếu như ( con số [ Tôi ] > tối đa )
{
tối đa = số [ Tôi ] ;
}
}
}
}


Trong trường hợp này, phương thức GetMinMax lấy một mảng số nguyên làm đầu vào cùng với hai tham số đầu ra cho min và max. Từ khóa out được sử dụng để chỉ ra rằng các biến này sẽ được sử dụng để lưu trữ các giá trị đầu ra từ phương thức.



Trong phương thức, các biến tối thiểu và tối đa được khởi tạo thành giá trị đầu tiên trong mảng đầu vào. Sau đó, phương thức này lặp qua các giá trị còn lại trong mảng, cập nhật các biến tối thiểu và tối đa nếu cần dựa trên các giá trị gặp phải.



Cuối cùng, khi phương thức hoàn tất, các giá trị cập nhật cho min và max được trả về thông qua các tham số out. Trong phương thức Main, các giá trị đầu ra này được in ra bàn điều khiển bằng phương thức WriteLine.





Sử dụng từ khóa out để trả về nhiều giá trị có thể là một kỹ thuật hữu ích trong trường hợp bạn cần trả về nhiều hơn một giá trị từ một phương thức. Tuy nhiên, điều đáng chú ý là việc sử dụng các tham số out có thể khiến mã khó đọc và khó hiểu hơn, đặc biệt khi xử lý mã phức tạp hơn và nói chung, tốt hơn là nên sử dụng kỹ thuật này một cách tiết kiệm và chỉ khi cần thiết.



2: Cách Trả về Nhiều Giá trị cho Trình gọi Phương thức trong C# Sử dụng Lớp Tùy chỉnh

Cách thứ ba để trả về nhiều giá trị trong C# là sử dụng một lớp tùy chỉnh và tạo một lớp chứa các thuộc tính hoặc trường cho từng giá trị mà bạn muốn trả về, sau đó trả về một thể hiện của lớp từ phương thức của bạn, đây là một ví dụ:

sử dụng Hệ thống;

không gian tên MyNamespace
{
lớp công khai MinMaxResult
{
int công khai Min { lấy; bộ ; }
công khai int tối đa { lấy; bộ ; }
}
lớp tĩnh công khai MinMaxCalculator
{
tĩnh công khai MinMaxResult GetMinMax ( int [ ] con số )
{
int min = số [ 0 ] ;
int max = số [ 0 ] ;
( int tôi = 1 ; Tôi < số.Chiều dài; tôi ++ )
{
nếu như ( con số [ Tôi ] < tối thiểu )
{
tối thiểu = số [ Tôi ] ;
}
nếu như ( con số [ Tôi ] > tối đa )
{
tối đa = số [ Tôi ] ;
}
}
trở lại kết quả MinMax mới { Tối thiểu = tối thiểu, Tối đa = tối đa } ;
}
}
chương trình lớp học
{
khoảng trống tĩnh chính ( sợi dây [ ] tranh luận )
{
int [ ] số = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , số 8 , 9 } ;
Kết quả MinMaxResult = MinMaxCalculator.GetMinMax ( con số ) ;
Console.WriteLine ( $ 'Tối thiểu: {result.Min}, Max: {result.Max}' ) ;
}
}
}


Mã C# này định nghĩa một không gian tên có tên là “MyNamespace” chứa hai lớp: “MinMaxResult” và “MinMaxCalculator”.

Lớp “MinMaxResult” có hai thuộc tính: “Min” và “Max”, được sử dụng để lưu trữ các giá trị tối thiểu và tối đa tương ứng.

Lớp “MinMaxCalculator” được khai báo là tĩnh và có một phương thức duy nhất có tên là “GetMinMax” lấy một mảng các số nguyên làm đầu vào. Phương pháp này sử dụng một vòng lặp để lặp qua mảng và tìm các giá trị tối thiểu và tối đa. Sau đó, nó tạo một thể hiện mới của lớp “MinMaxResult” và khởi tạo các thuộc tính “Tối thiểu” và “Tối đa” của nó với các giá trị tìm được trước khi trả về nó làm đầu ra của phương thức.

Cuối cùng, lớp “Program” chứa một phương thức tĩnh có tên là “Main”, là điểm vào của chương trình và trong phương thức này, một mảng các số nguyên được khởi tạo và chuyển đến phương thức “GetMinMax” của lớp “MinMaxCalculator” để lấy các giá trị tối thiểu và tối đa.

Phần kết luận

Trả về nhiều giá trị cho một trình gọi phương thức trong C# có thể là một tính năng quan trọng khi làm việc với các phép tính hoặc dữ liệu phức tạp. Bằng cách hiểu các kỹ thuật khác nhau có sẵn để trả về nhiều giá trị, chẳng hạn như tham số ngoài và lớp tùy chỉnh, bạn có thể chọn phương pháp tốt nhất cho tình huống cụ thể của mình. Sử dụng những kỹ thuật này có thể làm cho mã của bạn hiệu quả hơn, dễ đọc hơn và cuối cùng là cải thiện hiệu suất của ứng dụng của bạn.