Каков наилучший способ вернуть два списка в C #?

Мне почти стыдно задавать этот вопрос, но, как программист C, я чувствую, что, возможно, я не знаю лучшего способа сделать это на C #.

У меня есть функция-член, мне нужно вернуть два списка пользовательского типа (List<MyType>) и я знаю заранее, что у меня всегда будет возвращаемое значение только двух из этих списков.

Очевидные варианты:

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

или же

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

Оба кажутся неоптимальными.

Любые предложения о том, как улучшить это?

Первый способ не дает понять в синтаксисе, что возвращаются только 2 списка, а второй использует ссылки, а не возвращаемое значение, которое кажется не таким как c #.

Ответы на вопрос(5)

Ваш ответ на вопрос