0

私はWebサービスのために5つの異なるものを持っています

List<_FiltA> A= new List<_FiltA>();          
List<_FiltB> B= new List<_FiltA>();         
List<_FiltC> C= new List<_FiltA>();   
List<_FiltD> D= new List<_FiltA>();          
List<_MainFilt> Main= new List<_MainFilt>();

および4つの異なるメソッドと[WebMethod]、各リストのパラメーターに対して1つ例:

       [WebMethod]
           public List<_MainFilt> Search(string p1,int p2 ...)
            {
               Some code here...

             _FiltA= _FiltA(someParameters); //go to FiltA method
             _FiltB= _FiltB(someParameters);
                  .
                  .
                  some code...
                  .
                  .
              return Search;   //get Seach values
             }

           public List<_FiltA> FiltA (someParameters)
        {
           _FiltA FLG3 = new _FiltA();

             some codes....

              FLG3 = new _FiltA
                            {
                                PriceLink = Link,
                                Price = valueSomething,
                                Price2 = valueSomething1
                            };
                            Search.Add(FLG3);

           return FiltA ;

        }

そして、このようなさらに3つの方法。

これらの 4 つのリスト (_ListA、_ListB、_ListC、_ListD)を結合したいのですが、List<_MainFilt>どうすれば結合できますか? または、この問題を解決するための提案はありますか?

4

2 に答える 2

1

それらを連結するだけです。

public List<_MainFilt> Search(string p1,int p2 ...) {
    var result = _FiltA(someParameters)
        .Concat(_FiltB(someParameters))
        .Concat(_FiltC(someParameters))
        .Concat(_FiltD(someParameters))
        .ToList();
    // Do something with the list...
}
于 2013-05-15T08:03:58.183 に答える
1

を返す代わりにList<_MainFilt>、フィルタの 4 つのリストを含むオブジェクトを返すことができます。

public class Filters
{
  public List<_FiltA> FilterA {get; set;}
  public List<_FiltB> FilterB {get; set;}
  public List<_FiltC> FilterC {get; set;}
  public List<_FiltD> FilterD {get; set;}
}

...

[WebMethod]
public Filters Search(string p1,int p2 ...)
{
  return new Filters {
    FilterA = _FiltA(someParameters),
    FilterB = _FiltB(someParameters),
    FilterC = _FiltC(someParameters),
    FilterD = _FiltD(someParameters),
  };
}
于 2013-05-15T08:03:05.730 に答える