如何使用 linq 而不是 foreach 来获取 List<object>
how to use linq instead of foreach to get an List<object>
public List<object> Query()
{
List<string> availableBillingIncrements = _controller.GetAvailableDropdowns().AvailableBillingIncrement;
List<object> results = new List<object>();
var x = availableBillingIncrements
.Select(i => new List<object> { "Increment", i })
.ToList()
.Select(i => new List<object> { i })
.ToList();
foreach (string increment in availableBillingIncrements)
{
List<object> result = new List<object>();
result.Add(new List<object> { "Increment", increment });
results.Add(result);
}
return results;
}
在上面的代码中,x 和 results 是相同的对象,只是 x 是 List> 类型,而 results 是 List
您需要将 List<object>
转换为 object
:
var results = availableBillingIncrements
.Select(i => new List<object> { "Increment", i })
.ToList()
.Select(i => (object) new List<object> { i })
.ToList();
虽然这可以简化为单个 Select
,并且不需要中间 ToList
调用:
var results = availableBillingIncrements
.Select(i => (object) new List<object> {
new List<object> { "Increment", i } })
.ToList();
public List<object> Query()
{
List<string> availableBillingIncrements = _controller.GetAvailableDropdowns().AvailableBillingIncrement;
List<object> results = new List<object>();
var x = availableBillingIncrements
.Select(i => new List<object> { "Increment", i })
.ToList()
.Select(i => new List<object> { i })
.ToList();
foreach (string increment in availableBillingIncrements)
{
List<object> result = new List<object>();
result.Add(new List<object> { "Increment", increment });
results.Add(result);
}
return results;
}
在上面的代码中,x 和 results 是相同的对象,只是 x 是 List> 类型,而 results 是 List
您需要将 List<object>
转换为 object
:
var results = availableBillingIncrements
.Select(i => new List<object> { "Increment", i })
.ToList()
.Select(i => (object) new List<object> { i })
.ToList();
虽然这可以简化为单个 Select
,并且不需要中间 ToList
调用:
var results = availableBillingIncrements
.Select(i => (object) new List<object> {
new List<object> { "Increment", i } })
.ToList();