猿问

DRY(不要重复自己)和如果分配

我想我忘记了一些明显的东西,但如果它验证尽可能保持干燥的条件,我似乎无法找到一种分配值的方法......一些代码来解释我的意思......


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

甚至 a = (a > 1) ? a : b;


所以当然这里没什么大不了的,但是如果 a 被方法调用替换,(可能是一个 yield 返回)或其他什么,我将不得不调用它两次......


我唯一看到的是将它存放在一个变量中,然后就像上面的代码一样......


有什么更好的主意吗?


编辑以获得更好的理解:假设我正在 xml 文件中搜索一个值,使用空检查 (?. ?[]) 等,例如


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

所以在这里我将它存储在一个变量中,以便我以后可以测试它的值。如果我想检查特定的 store_no !我必须做类似的事情


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

...是的,不确定这个例子是否足够明确,但这个想法在这里;我可能不想将数据存储在变量中(例如,巨大的数据块)有没有办法获得相同的结果?


呼唤远方
浏览 123回答 1
1回答
随时随地看视频慕课网APP
我要回答