VB.NET - Как использовать литерал массива в условии?

Я только что узнал, как создать литерал массива в VB.NET.

Dim MyArray = New Integer() { 1, 2, 3 }
' Or
Dim MyArray() As Integer = { 1, 2, 3 }
' Or
Dim MyArray() = { 1, 2, 3 }
' Or
Dim MyArray() = { 1, 2, "A", "B" }

Теперь я хочу использовать LITERAL ARRAY в условии (см. Псевдокод)

If 1 exists in {1,2,3,4} Then
    MsgBox "Exists!"
End If

но я не знаю как, похоже, вам нужно присвоить его переменной, прежде чем вы сможете использовать его в условии.

    Dim MyArray() As Integer = {3, 2, 3}
    If (MyArray.Contains(1)) Then
        MsgBox("exists!")
    Else
        MsgBox("does not exist!")
    End If

Приведенный выше код работает, но мне просто интересно, есть ли способ сделать это, не назначая сначала литерал массива переменной?

Заранее спасибо!


person dpp    schedule 02.08.2011    source источник


Ответы (1)


Используйте для этого {1,2,3,4}.Contains(1).

person jonsca    schedule 02.08.2011
comment
Я не знал, что это сработает! :) Может код выглядит настолько необычным, что я не пробовал. Я также пробовал это (New Integer() {3, 1, 3}).Contains(1), это более элегантно. Спасибо! - person dpp; 02.08.2011
comment
Если бы ответом была змея, я мог бы быть убит ею, она уже передо мной! - person dpp; 02.08.2011