在C#中返回多个列表

时间:2010-11-15 09:48:53

标签: c# oop list

我正在使用自定义类来存储基于正则表达式在目录中找到的文件的信息,我需要从方法返回这些文件列表。这是一些关于它当前如何工作的伪代码:

class FileList {
//propertes of the file here, such as regex name, source folder and whether it needs to be deleted after copying
}

..
..

foreach (file in directory that matches regex)
{
    new filelist
    //Set all the properties
}

return allfilelists;

但是如何返回所有列表,还是有更好的方法呢?

由于

4 个答案:

答案 0 :(得分:2)

为什么不返回文件列表列表?

var allfilelists = new List<FileList >();
foreach (file in directory that matches regex)
{
    new filelist
    //Set all the properties
    allfilelists.Add(fileList);
}

答案 1 :(得分:1)

有什么理由不返回List<FileList>或类似的东西? (这里有一个抽象选择 - 你可以声明该方法返回IEnumerable<FileList>IList<FileList>List<FileList>等。)

答案 2 :(得分:1)

或者,您可以在方法上返回IEnumerable<FileList>并使用yield关键字来使用延迟执行并消除List对象的开销(尽可能少)。

答案 3 :(得分:0)

您可以使用List<FileList>FileList[]