我知道如何检查变量是否为空,但我要做的是在空变量上显示一条消息,例如:
Dim server_name = TextBox1.Text
Dim username = TextBox2.Text
Dim password = TextBox3.Text
Dim database = TextBox4.Text
If server_name.Length > 0 And username.Length > 0 And password.Length > 0 And database.Length > 0 Then
End If
如何看待我有多个条件,所以如果server_name为空,我想显示一条消息
服务器名称字段未正确填写
如果没有别的话可以这样做吗?
答案 0 :(得分:3)
即使你不喜欢,我也会使用If...
。但是,如果你想要一些“更优雅”的东西,你可以使用一个集合Linq
:
Dim allFields = New List(Of KeyValuePair(Of String, String)) From {
New KeyValuePair(Of String, String)("Server name", server_name),
New KeyValuePair(Of String, String)("User name", username),
New KeyValuePair(Of String, String)("Password", password),
New KeyValuePair(Of String, String)("Database", database)
}
Dim invalids = From kv In allFields
Where String.IsNullOrEmpty(kv.Value)
For Each invalid In invalids
Console.WriteLine("{0} field isn't filled correctly", invalid.Key)
Next
另一个问题是,可以将前景色设置为红色 foreach中的空场?
是的,那么您需要存储TextBox
而不是Text
Value
。TextBox
。然后,您可以在循环中设置Dim allFields As New List(Of KeyValuePair(Of String, TextBox)) From {
New KeyValuePair(Of String, TextBox)("Server name", TextBox1),
New KeyValuePair(Of String, TextBox)("User name", TextBox2),
New KeyValuePair(Of String, TextBox)("Password", TextBox3),
New KeyValuePair(Of String, TextBox)("Database", TextBox4)
}
Dim invalids = From kv In allFields
Where String.IsNullOrEmpty(kv.Value.Text)
For Each invalid In invalids
Console.WriteLine("{0} field isn't filled correctly", invalid.Key)
invalid.Value.ForeColor = Drawing.Color.Red
Next
的颜色:
For Each
请注意,这还有另一个好处:您甚至可以将此列表声明为类(表单)中的字段。所以你只需要声明并初始化一次。如果在TxtPassword
执行LINQ查询,它将使用文本框中的当前值自动评估它,而不是初始化列表时的初始值。附注:您应该使用更有意义的名称,例如TextBox3
而不是class ATest {
@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock EdocumentDAO dao;
@InjectMocks A a;
@Test
public void the_test() {
doReturn("DOC_ID").when(dao).saveIndocRepo();
a.createDocument(docType);
}
}
。
答案 1 :(得分:0)
有很多方法可以做到这一点,我给你举个例子:
Dim s As String() = {TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text}
If String.Join("", s).Length > 0 Then
' program logic
End If
实际上,您正在创建一个字符串数组,然后加入它们并检查最终字符串的长度。