我有条件需要检查
if(staffid!=23||staffid!=24||staffid!=25||staffid!=26||staffid!=27||staffid!=29||staffid!=31)
{
do the req thing ..
}
Run Code Online (Sandbox Code Playgroud)
现在我检查这样的情况.是他们写这种情况的更好方法
谢谢
我试图在特定字段中检查给定值是否包含.这里是我写的代码
bool _Contains = LabelDetails.Name.Contains("1");
Run Code Online (Sandbox Code Playgroud)
现在想要检查cantains方法中的多个值.我尝试如下,但显示异常(" 方法'包含'没有重载需要3个参数 ");
bool _Contains = LabelDetails.Name.Contains("1","2","3");
Run Code Online (Sandbox Code Playgroud) 我如何检查变量是否是少数值之一?
凡IN在甲骨文会念想
where strVar in ('A','H','X','Z')
Run Code Online (Sandbox Code Playgroud)
无需写
if (strVar == "A" || strVar == "H" || strVar == "X" || strVar =="Z")
Run Code Online (Sandbox Code Playgroud)
编辑以更改变量名称
我肯定答案是肯定的,但我很好奇,并且以为我会问你的女朋友.
在SQL中你可以说:
IF ( a IN ( x, y ) )
Run Code Online (Sandbox Code Playgroud)
C#中有类似的东西吗?我知道你可以使用一个开关,但我正在寻找if语句中特别可能的东西,因为有多个表达式,如:
IF ( a == b && c IN ( x, y ) )
IF ( a == b && c == ( x || y ) )
Run Code Online (Sandbox Code Playgroud)
编辑:好的,我看到我过于简单,因为数组示例相当明显,我没有想到它.如果它是更复杂的东西怎么样:
if ( a.GetType() == typeof( MyClass1 ) || a.GetType() == typeof( MyClass2 ) )
Run Code Online (Sandbox Code Playgroud)
Edit2:只是为了澄清,这不是一个C#IN运算符的副本吗?因为这个问题的答案并没有解决我的问题,因为我使用的例子可能有点差,但这是我当时唯一能想到的关系.Palani Kumar提供的答案就是我正在寻找的答案.
编辑3:感谢所有人的称重.很明显,有很多方法可以达到相同的结果(我现在也明白,它们几乎是同样的东西,只是表达方式不同)而且我已经能够阅读了由于您的意见,进一步进入每一个.我也设法找到这个"如果语句匹配多个值"的帖子,是的,我完全同意它也是我所要求的重复.根据反馈,我不仅学到了很多东西,还设法实现了一个优雅的解决方案:
public static bool In<T>( this T obj, params T[] list )
{
return list.Contains( obj …Run Code Online (Sandbox Code Playgroud)