我认为这是一个简单的问题。我想生成一个可枚举的LINQ,用于selectmany函数。这就是我想要做的事情
var completeMonthsList = (from p in MonthList
select new
{
p.Month
}).SelectMany(ml => boolList.Select(bool =>
new
{
Month = ml.Month,
isConditonal= bool
}
)
我尝试生成一个列表并向其添加两个布尔值,但它会出错。
NotSupportedException:除了Contains运算符之外,本地序列不能用于查询运算符的LINQ to SQL实现。
使用的代码如下
List<Boolean> boolList = new List<Boolean>();
boolList.Add(true);
boolList.Add(false);
现在我唯一能想到的另一个选择就是有两个列表,一个带有selectmany => false
,另一个带有selectmany => true
,然后对它们进行连接以获得完整的列表。
linq中是否有一个函数,如Range
函数生成布尔值或其他生成布尔值的方法而不需要concat
?
答案 0 :(得分:0)
嗨如果我没有误解你的问题,试试这样的事情
var rsult = (from p in MonthList).Tolist()
.SelectMany(i => Enumerable.Repeat(i, 2)
.Select((s, ii) => new { Month = s.Month, isConditonal = ii % 2 == 0 ? true : false })).ToList();
我希望这会有所帮助。我希望你从DB中获取MonthList,否则你可以在MonthList之后跳过ToList()。