数组中行的行比较

我正在尝试使用此脚本将用户条目与文本字段进行比较 22 常规词。 我不是在寻找几个案例,例如,
VICE

位于
ADVICE

, 所以它会 2 价值观;

我希望字符串值仅取相等值。

.

目前它识别第一个单词
TIED

并显示消息窗口 "found", 但他不认识列表中的任何其他单词。

我在脚本上写作 visual basic


Private Sub btnSubmit_Click/ByVal sender As System.Object, ByVal e As System.EventArgs/ Handles btnSubmit.Click
Dim StrCorrect// As String = {"TIED", "VICE", "ICED", "DIVE", "DIET", "DATE", "CITE", "CAVE", "AIDE", "ACED", "CITED", "ACTED", "VACATE", "CATTIE", "ADVICE", "AVIATE", "ACTIVE", "VACATED", "DICTATE", "AVIATED", "ACTIVATE", "ACTIVATED"}
Dim Find As String = userinput
For Each Str As String In StrCorrect
If StrComp/Str, userinput, CompareMethod.Text/.ToString = 0 Then
MsgBox/"Found" & userinput/
Return
Else : MsgBox/"incorrect word"/
Return
End If
Next
End Sub
已邀请:

奔跑吧少年

赞同来自:

问题是,如果第一个元素不一致,则清楚地返回您的循环。 您只知道如果您的循环完成而不找到它,您就没有巧合,所以尝试这样做:


For Each Str As String In StrCorrect
If StrComp/Str, userinput, CompareMethod.Text/.ToString = 0 Then
MsgBox/"Found" & userinput/
Return
End If
Next

MsgBox/"incorrect word"/


它只会显示 "incorrect word", 如果一个

全部

列表中的元素不会通过第一个测试。

裸奔

赞同来自:

为什么
STRCOMP

? 如果您想确切巧合,为什么不花直接比较?


For Each Str As String In StrCorrect
If Str = Find Then
MessageBox.Show/"Found :" & Str/
End If
Next

詹大官人

赞同来自:

我会使用 for loop, 有点


For i As Integer = 0 To StrCorrect.Length - 1
If StrCorrect/i/ = Find Then
MsgBox/"Found" & Find/
Return
'End if

'The else statement simply alerting that it didnt find the right word on this iteration
'The else can be removed if you dont want this alert
Else
MsgBox/"incorrect word"/
'Return
End If
Next

奔跑吧少年

赞同来自:

尝试,如下所示,它将帮助您...

样本

:


Dim result As String// = Array.FindAll/StrCorrect, Function/s/ s.Equals/Find//
If /result.Length > 0/ Then
MsgBox/"Found : " & userinput/
Else
MsgBox/"incorrect word"/
End If


完整的代码

:


Dim StrCorrect// As String = {"TIED", "VICE", "ICED", "DIVE", "DIET", "DATE", "CITE", "CAVE", "AIDE", "ACED", "CITED", "ACTED", "VACATE", "CATTIE", "ADVICE", "AVIATE", "ACTIVE", "VACATED", "DICTATE", "AVIATED", "ACTIVATE", "ACTIVATED"}
Dim Find As String = userinput
Dim result As String// = Array.FindAll/StrCorrect, Function/s/ s.Equals/Find//
If /result.Length > 0/ Then
MsgBox/"Found : " & userinput/
Else
MsgBox/"incorrect word"/
End If

要回复问题请先登录注册