Well the thing is you can't really do it without a loop. If your objective is to make it look more linq-y you can do something similar to this:
transactions
.Where(x => x.sender == agent.realId)
.ToList()
.ForEach(x => x.Amount = 625000);
But I personally am not a huge fan of this.
First of all, it's still a loop even though it's in a form of a function.
Secondly, even though it does look more like linq, it's really not. Linq operators are all based on functional programming principles, which implies immutability. Here however you want to assign a new value to the Amount property which is a mutable operation and therefore going against functional approach.
In conclusion, my advice is to use linq operators when you're doing functional stuff and use loops when you're doing imperative stuff. Shortly - use loops for assignments.
transactionscome from)?