【问题标题】:Check if any element in an array matches my condition检查数组中的任何元素是否符合我的条件
【发布时间】:2021-03-25 15:46:42
【问题描述】:

我有一个包含 2 个值的数组。我想使用If 语句来查看数组中的任何值是否等于我的DropDown 的SelectedValue

到目前为止,我所做的一切都只给出了否定的结果(只达到了Else 条件):

Dim twoValues() As String = {"one", "two"}

If Me.ddlDropdown.SelectedValue.ToLower.Equals(twoValues.Any) Then
    'do something
Else
    'do something else
End If

【问题讨论】:

    标签: arrays vb.net


    【解决方案1】:

    您可以反转比较并使用 LINQ 的 Any() 方法将数组元素与提供的值进行比较,直到找到匹配的值。
    由于比较需要不区分大小写,您可以使用接受StringComparison 参数的String.Equals() 的重载。

    当需要不区分大小写的比较时,最好避免使用没有CultureInfo 选择器的ToLower()
    此外,InvariantCulture 可能适用或不适用,具体取决于比较中涉及的语言。
    如果当前语言为本地语言,无法直接与 InvariantCulture 关联,请改用StringComparison.CurrentCultureIgnoreCase。或者构建一个自定义比较器。

    Dim twoValues As String() = {"one", "two"}
    Dim value = Me.ddlDropdown.SelectedValue.ToString()
    
    If twoValues.Any(Function(s) s.Equals(value, StringComparison.InvariantCultureIgnoreCase)) Then
      'do something
    Else
       'do something else
    End If
    

    【讨论】:

      猜你喜欢
      • 2019-08-22
      • 2012-10-01
      • 1970-01-01
      • 2021-09-07
      • 2012-05-26
      • 2016-09-22
      • 2020-11-12
      • 1970-01-01
      相关资源
      最近更新 更多