A one change boolean value
If you can only change a bool once, and the entire purpose of a loop is to set the bool, then you should just exit the loop after the bool gets changed.  There's no point in looping more than you need to, and you also don't have to worry about the bool getting switched back.  So you can write your example like this:

bool SomeMethod()
{
    foreach(var obj in objs)
    {
        if(!obj.Method())
        {
            return false;
        }
    }
    return true;
}


You can use Enumerable.All() for this logic:

bool SomeMethod()
{
    return objs.All(x =&gt; x.Method());
}


An alternative to if(!x) y = x; in your situation is y = y &amp;&amp; x;