如何消除每个循环?

时间:2016-03-17 10:08:53

标签: .net vb.net

我已经使用以下代码获取EXCEL.EXE开始时间。 (以下代码是okey)

    For Each prog As Process In System.Diagnostics.Process.GetProcessesByName("EXCEL")
        Label100.Text = prog.StartTime.ToString
    Next

但我需要更专业的代码。

那么,如何消除每个循环?

祝福。

1 个答案:

答案 0 :(得分:1)

您可以存储Process.GetProcessesByName的结果并检查它是否为Length >= 1

Dim excelProcs = System.Diagnostics.Process.GetProcessesByName("EXCEL")
If excelProcs.Length >= 1 Then
    Label100.Text = excelProcs(0).StartTime.ToString()
Else
    MessageBox.Show("Error")
End If

或使用Enumerable.FirstOrDefault这是LINQ方法:

Dim excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL").FirstOrDefault()

然后您可以在使用之前检查excelProc IsNot Nothing

If excelProc IsNot Nothing Then
    Label100.Text = excelProc.StartTime.ToString()
Else
    MessageBox.Show("Error")
End If