有一个源代码行,其中的文字必须替换为方法执行的结果。因此,如果没有可替换的内容,则不需要执行该方法。
现在我有这个代码:
if (str.Contains("${Time}")) str = str.Replace("${Time}", qq());
if (str.Contains("${Sec}")) str = str.Replace("${Sec}", ww());
if (str.Contains("${Min}")) str = str.Replace("${Min}", ee());
但是看起来很别扭,尤其是有50个这样的换人,你怎么能缩短条目呢?
对我来说,不必写两次“${Time}”就足够了。我再说一遍,如果没有什么可替换的,则不需要执行该方法。
作者,我的意思是:
安慰:
PS。如果将值和函数引用放在集合中(例如放在字典中),也可以稍微缩短代码,然后在循环中迭代:
在您的代码中, Contains 是没有意义的,只有 Replace 就足够了。也就是说,如果包含子字符串,则将其替换,如果不包含,则无需更改,因此您只需要: