Jaki jest najlepszy sposób na zwrócenie dwóch list w C #?

Jestem prawie zakłopotany, gdy zadaję to pytanie, ale jako długi programista C czuję, że być może nie zdaję sobie sprawy z tego, jak najlepiej to zrobić w C #.

Mam funkcję członka, której muszę zwrócić dwie listy niestandardowego typu (List<MyType>) i wiem wcześniej, że zawsze będę miał wartość zwrotną tylko dwóch z tych list.

Oczywiste opcje to:

public List<List<MyType>> ReturnTwoLists();

lub

public void ReturnTwoLists(ref List<MyType> listOne, ref List<myType> listTwo);

Obie wydają się być nieoptymalne.

Wszelkie sugestie, jak to poprawić?

Pierwszy sposób nie wyjaśnia w składni, że zwracane są tylko 2 listy, a druga używa raczej referencji niż wartości zwracanej, która wydaje się być taka sama.

questionAnswers(5)

yourAnswerToTheQuestion