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?