有没有办法缩短这条线?
bool pass = d != null && d["k"] != null && (bool)d["k"];
Run Code Online (Sandbox Code Playgroud)
注意:"k"实际上是"更长的id"; 我替换它以使其在这篇文章中更具可读性.您的许多建议都不会检查d是否为空.
And*_*ech 32
它已经几乎无法读取,为什么要缩短它?
Ant*_*lev 13
试试这个:
bool pass = d != null && (bool)(d["k"] ?? false);
Run Code Online (Sandbox Code Playgroud)
我会问你为什么要缩短它.
较短的代码不会使任何人受益.它让其他人更难阅读它.
就个人而言,我会问"如何让这段代码更容易阅读",答案就是把它分成多行,每行只做一件事.
C#中唯一可用的"空缩写"是null-coalescing运算符,它允许您为null对象定义默认值.但对于您的代码,我建议您的目标是可读性,而不是行大小.
是的,从中提取一个函数并调用它doTheValuesInTheFooBarDictionaryPassTheRebarTest.
这更容易阅读.当然,该方法仍将包含您的上述行,但代码的读者(从此处直到时间结束)在浏览代码时将获得更愉快的体验.
通过缩短代码,您希望实现什么?更快阅读?(大脑需要更长的时间来解析它!).输入更快?(你输入一次这个东西,然后一次又一次地修改或读取它(再次!)).通常,更长,更具描述性的变量更好,如果您可以将它们包装在封装方法中,那么也可以这样做.
| 归档时间: |
|
| 查看次数: |
5772 次 |
| 最近记录: |