使用Foreach方法执行OR或AND操作

ckv*_*ckv 2 c#

我有以下代码使用foreach迭代器.

foreach (var item in daysOfWeeksList)
            {
                daysOper |= item;
            }
Run Code Online (Sandbox Code Playgroud)

daysOfWeeksList是一个列表.我想OR列表中的每个项目并处理结果?

这几天是WeeksList的一个

List<int> daysOfWeeksList
Run Code Online (Sandbox Code Playgroud)

说我想做这样的事情.我想做的事情是OR操作.

list.ForEach( item =>
{
    item.DoSomething();
} );
Run Code Online (Sandbox Code Playgroud)

你会如何使用作为List集合的一部分提供的foreach方法来解决这个问题?我为2个操作数提供了大量示例,但没有针对单个操作数的示例.

Jon*_*eet 11

假设daysOper从0开始,我根本不会使用ForEach- 我将使用AggregateLINQ:

var daysOper = daysOfWeekList.Aggregate((current, next) => current | next);
Run Code Online (Sandbox Code Playgroud)

换句话说,保持一个正在运行的"当前"值,并每次将其与下一个值进行OR运算.(一次迭代的结果将用作下一次迭代的"当前"值.)