-1

我有这个方法,我传入一个文件名和文件路径,我将在其中保存。该文件被放入 for 循环中,以便我将每个页面保存为单独的文件。同时,每一页都将包含一个我正在阅读的条形码。我想将每个条形码和文件路径存储在我返回的列表中,以便我可以在不同的方法中使用。

public __________ InputFile(string fileName, string filePath)
{
     for(int page = 1; page <= fileName.PageCount; page++)
     {
          read barcode
          save page as new file
     }
     return ___________;
}

我已经有了我需要读取和保存的文件我只想知道如何设置它以返回条形码和路径的对象?

4

4 回答 4

1

基本答案是编写自己的类来存储值并返回该类型的列表。如果您不想编写自己的类,那么您可以考虑使用该System.Tuple<T,U>类型。

编辑:

这是类的外观(类和属性名称可以更改为您想要的任何名称)。

public class Result
{
  public Guid Barcode {get; set;}
  public string Value {get; set;}
}

在您的方法中,创建 的新实例List<Result>,并为循环的每次迭代创建一个新实例Result并将其添加到列表中,然后返回列表。

于 2013-08-14T21:44:05.497 回答
1

最好的选择是创建一个明确的类来存储这些值并返回你的类的一个实例。

public class MyResult
{
    public Guid Barcode { get; set; }
    public string Path { get; set; }
}

public MyResult InputFile(string fileName, string filePath) { ... }

或者,您可以使用 a Tuple,然后您将返回Tuple<Guid, string>并使用Tuple.Create(guid, path). 您可以使用属性Item1和访问这些值Item2。由于这个命名,你真的应该使用第一种方法,因为它更明确。

于 2013-08-14T21:45:28.740 回答
0

你可以返回一个

IEnumerable<Tuple<Barcode, string>>

如果你不想再上一节课。

于 2013-08-14T21:43:53.637 回答
0

使用 2 个属性创建您自己的对象或使用元组

Tuple<GUID, string> tuple = new Tuple<GUID, string>();
于 2013-08-14T21:44:34.373 回答