将队列中的每个项目乘以-1(queue.ForEach似乎不存在)的优雅(简短)方法是什么?读取整个队列并将其写入另一个队列似乎过多.有没有办法在现场进行?
编辑抛开:我不明白为什么这个问题被投票或投票结束.这是一个非常合理的问题.
如果您要做的就是获取队列中的元素否定:
var negated = myQueue.Select(x => -x);
foreach(int x in negated) ...
Run Code Online (Sandbox Code Playgroud)
请注意,即使您更改队列的内容,"negated"仍将继续有效!查询对象在枚举时进行评估,而不是在创建时进行评估.
请注意,myQueue根本没有改变; negated它只是一个包装它的包装器,它会枚举它们被枚举的元素.