Какой вариант кода правильнее и эффективнее использовать? - C#

Узнай цену своей работы

Формулировка задачи:

Первый или второй вариант, и вообще есть ли принципиальная разница, между ними?
List<string> files = new List<string>();
GetFolderFiles(files);
 
private List<string> GetFolderFiles(List<string> files)
{
     files.AddRange(...);
     ...
     files.AddRange(...);
 
     return files;
}
List<string> files = GetFolderFiles();
 
private List<string> GetFolderFiles()
{
     List<string> files = new List<string>();
     files.AddRange(...);
     ...
     files.AddRange(...);
 
     return files;
}
И как реализовать такой вариант использования?
List<string> files = new List<string>(GetFolderFiles());

Решение задачи: «Какой вариант кода правильнее и эффективнее использовать?»

textual
Листинг программы
public void start() { 
    List<string> files0 = GetFolderFiles();
}
private List<string> GetFolderFiles()
{
     List<string> files1 = new List<string>();
     files1.Add("ВАСЯ");
     return files1;
}

Оцени полезность:

8   голосов , оценка 4.625 из 5