Да, ключевое слово out
:
public void ReturnManyInts(out int int1, out int int2, out int int3)
{
int1 = 10;
int2 = 20;
int3 = 30;
}
тогда назовите это так:
int i1, i2, i3;
ReturnManyInts(out i1, out i2, out i3);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(i3);
который выводит:
10
20
30
EDIT:
Я вижу, что многие посты предлагают создать для этого свой собственный класс. Это не обязательно, так как .net предоставляет вам класс, чтобы делать то, что они уже говорят. Класс Tuple
.
public Tuple<int, string, char> ReturnMany()
{
return new Tuple<int, string, char>(1, "some string", 'B');
}
тогда вы можете получить его так:
var myTuple = ReturnMany();
myTuple.Item1 ...
myTuple.Item2 ...
существуют общие перегрузки, поэтому в кортеже может быть до 8 уникальных типов.