SECA (não se repita) e se as atribuições

Acho que estou esquecendo algo evidente, mas não consigo encontrar uma maneira de atribuir um valor se ele validar uma condição que seja o mais SECA possível ... Algum código para explicar o que quero dizer ...

a = (b > 1) ? b : c;

ou mesmoa = (a > 1) ? a : b;

Então, é claro que aqui não é grande coisa, mas se um fosse substituído por uma chamada de método (talvez um retorno de rendimento lá) ou o que seja, eu teria que chamá-lo duas vezes ...

A única coisa que vejo é estocá-lo em uma variável que seria então o código acima ...

Alguma ideia melhor?

Edite para melhor compreensão: digamos que estou pesquisando um valor em um arquivo xml, com verificações nulas (?.? []) Etc.

string store_no = myXmlNode.SelectSingleNode("aChildNode")?.SelectSingleNode("myNode")?.Attributes?["store_no]?.Value;

Então, aqui eu guardo isso em uma variável para poder testar seu valor posteriormente. Se eu quiser verificar um store_no específico, eu teria que fazer algo como

store_no = (store_no=="STORE23")? store_no : "unknown";

... Sim, não tenho certeza se é suficientemente explícito com este exemplo, mas a ideia está aqui; Talvez eu não queira armazenar dados em uma variável (bloco de dados enorme, por exemplo). Existe uma maneira de obter o mesmo resultado?

questionAnswers(1)

yourAnswerToTheQuestion