在写一个if-expression时我刚才有了一个想法,有时当你有这样的表达式时,表达式往往很长:
if(x == 1 || x == 2 || x == 33 || x == 4 || x == -5 || x == 61) { ... }
Run Code Online (Sandbox Code Playgroud)
x可以是枚举,字符串,整数,字符,你得到的图片.
我想知道是否有更简单的方法来写这个.我认为sql的运算符'in'例如可以缩短表达式:
if(x in (1,2,33,4,-5,61)) { ... }
Run Code Online (Sandbox Code Playgroud)
我知道你不能用'in'写这样的表达式,因为编译器的词法分析器和解析器不会识别它.
也许其他解决方案作为不同类型x的扩展方法是解决方案?在即将推出的.NET 4.0中,我听说过参数化方法,应该解决提供给if-expression的n个参数吗?
也许你理解我,你对这个问题有一个好的实践/解决方案吗?
/丹尼尔
我有这个从经典asp生成的简单html标记:
<table>
<tr class="trClass">
<td>Hello </td>
</tr>
<tr class ="trClass">
<td>World!</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
如果我使用Jquery将属于Hello的tr设置为hide(),它会隐藏.好!
但是,当我使用这个$('.trClass:visible').each(function(){alert('visible')}); 它显示输出'可见'两次.
为什么是这样?
我的问题是我使用选择框过滤列上的表.但是在过滤后我需要对表中可见的那些行执行一些计算,但我现在得到所有行.
有任何想法吗?
/丹尼尔