0
ログファイルを書き込むために別のルーチンを呼び出す2つのサブルーチンがあります。データはLogData()という配列に格納されます。サブルーチン1には3つの要素があり、サブルーチン2には4が含まれています。すべてのLogData()要素を使用してログを書き込むと、LogData(3)に要素が含まれていないため、 LogData要素(3)が値を保持しているかどうかを確認する方法はありますか?そうであれば、ログに書き込みますか?私は文の場合は下記を使用してみましたが、このエラー:VB.net配列要素が存在するかどうかの確認
If (Not LogData(3) Is Nothing) Then
w.WriteLine("Address : {0}", LogData(3))
End If
私も試してみました:
If LogData.Count > 2 Then
If Not arrayList(yourIndex) Is Nothing Then
私はちょうどログファイルにLOGDATAを()書いていた場合、私はちょうどループを使用することができます。しかし、私は各要素の間にテキストを追加するので、私はそれを行うことはできません。
サブ1:
Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
Dim LogPath As String = appData & "\myApplication"
Dim LogData() As String = {Username, Action, Domain}
If (Not System.IO.Directory.Exists(LogPath)) Then
System.IO.Directory.CreateDirectory(LogPath)
End If
Using w As StreamWriter = File.AppendText(LogPath & "\log.txt")
Log(LogData, w)
End Using
サブ2:
Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)
Dim LogPath As String = appData & "\myApplication"
Dim LogData() As String = {Username, Action, Domain, Address}
If (Not System.IO.Directory.Exists(LogPath)) Then
System.IO.Directory.CreateDirectory(LogPath)
End If
Using w As StreamWriter = File.AppendText(LogPath & "\log.txt")
Log(LogData, w)
End Using
ログサブ:アレイの
Public Shared Sub Log2(LogData As Array, w As TextWriter)
w.Write(vbCrLf)
w.WriteLine("Log Entry : {0} - {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString())
w.WriteLine("username : {0}", LogData(0))
w.WriteLine("Action : {0}", LogData(1))
w.WriteLine("Domain : {0}", LogData(2))
If (Not LogData(3) Is Nothing) Then
w.WriteLine("Address : {0}", LogData(3))
End If
w.WriteLine("Application version: " & Application.ProductVersion)
w.WriteLine("-------------------------------")
End Sub
Perfecそれはうまくいった!ありがとうございました! –