VB.NET 列表中的 If-Else
我只是想知道 VB.NET 中是否有一种方法可以查找列表中是否存在特定值或可以在我的 If-else 条件中使用的值。我现在正在做的是使用这个:
If ToStatus = "1CE" Or ToStatus = "2TL" Or ToStatus = "2PM" Then
'Do something
Else
'Do something
End If
这工作得很好,但是如果我将来有数百个字符串要与 ToStatus
进行比较怎么办?这将是一场噩梦!现在,如果存在这样的功能,我如何在语句中添加“And”和“Or”?
提前致谢!
I just want to know if there's an approach in VB.NET that can find if a specific value exist on a list or something which can use in my If-else condition. What I'm doing now is to use this:
If ToStatus = "1CE" Or ToStatus = "2TL" Or ToStatus = "2PM" Then
'Do something
Else
'Do something
End If
This works fine, but how if I have hundreds of string to compare to ToStatus
in the future? It will be a nightmare! Now, if such functionality exists, how can I add "And" and "Or" in the statement?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以使用
Contains
函数:You can use the
Contains
function:您可以执行以下操作:
You can do the following:
就像 Slaks 指出的一样,您可以在
enumerable
上使用Contains
收藏。但我认为可读性会受到影响。我不在乎某个列表是否包含我的变量;我想知道我的变量是否在某个列表中。您可以将 contains 包装在扩展方法中,如下所示:
然后像这样调用:
Like Slaks pointed out, you can use
Contains
on anenumerable
collection. But I think readability suffers. I don't care if some list contains my variable; I want to know if my variable is in some list.You can wrap contains in an extension method like so:
Then call like this:
你可以使用选择案例
you may use select case
对于 .NET 2.0
我遇到了 SLaks 解决方案不起作用的另一个问题,即如果您使用 .NET 2.0,其中方法
Contains
不存在。所以这是解决方案:VB.NET - Array.Contains 的替代方案?
For .NET 2.0
I came across another problem where SLaks solution won't work, that is if you use .NET 2.0 where method
Contains
is not present. So here's the solution:VB.NET - Alternative to Array.Contains?
从列表中删除重复项
Remove duplicates from the list