布尔上下文中应该使用短路逻辑,使用“and”、“&&”有什么区别吗

Short-circuit logic should be used in boolean contexts, is there any difference using "&", "&&"

我查看了代码,发现这个运算符 &&& 有什么区别,如果我想更改为 &&

public bool isTemplate(string template)
{
    return (isValid() & lc.templates.Any(x => x.Id.Equals(template, StringComparison.Current)));
}

来自documentation

& 运算符总是计算两个操作数。

&& 运算符仅在必要时计算右侧操作数。