Qual é a melhor maneira de retornar duas listas em c #?
Estou quase envergonhado de fazer essa pergunta, mas como programador C há muito tempo sinto que talvez eu não esteja ciente da melhor maneira de fazer isso em C #.
Eu tenho uma função de membro que preciso retornar duas listas de um tipo personalizado (List<MyType>
) e eu sei de antemão que sempre terei um valor de retorno de apenas duas dessas listas.
As opções óbvias são:
public List<List<MyType>> ReturnTwoLists();
ou
public void ReturnTwoLists(ref List<MyType> listOne, ref List<myType> listTwo);
Ambos parecem não ser ótimos.
Alguma sugestão sobre como melhorar isso?
A primeira maneira não deixa claro na sintaxe que apenas duas listas estão sendo retornadas, e a segunda usa referências, em vez de um valor de retorno, que parece não-c #.