如何组合两个列表<>参数
本文关键字:列表 参数 两个 何组合 组合 | 更新日期: 2023-09-27 18:13:32
我有五个不同的web服务
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种不同的方法,每个列表的参数1个[WebMethod]
例:
[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个这样的方法
我想在List<_MainFilt>
中组合这4个列表(_ListA,_ListB,_ListC,_ListD)如何组合?或者对解决这个问题有什么建议吗?
不返回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),
};
}
您可以直接将它们连接起来。
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...
}