-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) { ... }

または、 を使用することもできます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 を使用します

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