多年代码搬运工 2022-09-04 01:07 采纳率: 66.7%
浏览 38
已结题

关于#WPF#的问题,如何解决?

刚接触VB没几天,我这有一段WPF的项目代码,希望能帮我解读一下第一段代码的相关语法,要是能参照其他语言解读更好



```vb.net
 tcpHelper1 = New TcpHelper(theSetting.TheEndPiont1) With {.DataHandler = Function(Data As String, sourceSocket As Socket) As Integer
                                                                                     Debug.WriteLine(Data)
                                                                                     For Each m As Match In Regex.Matches(Data, "#[0-9a-zA-Z]{39}")
                                                                                         'Debug.WriteLine(m.Value)
                                                                                         Dim id As String = m.Value.Substring(21, 10)
                                                                                         '回应并过滤掉心跳包
                                                                                         If Regex.IsMatch(id, "0{10}") Then
                                                                                             Dim buffer() As Byte = Encoding.UTF8.GetBytes("#ACK " & Now.ToString("yyyy/MM/dd HH:mm:ss"))
                                                                                             sourceSocket.Send(buffer)
                                                                                             Return 0
                                                                                         End If
                                                                                         Dim timeStr As String = m.Value.Substring(9, 12)
                                                                                    
                                                                                         'Debug.WriteLine(ftimestr)
                                                                                         Dim time As Date = Convert.ToDateTime(ftimestr)
                                                                                         Debug.WriteLine("卡号:" & id & "时间:" & time.ToString)
                                                                                         Me.Dispatcher.Invoke(Sub()
                                                                                                                  If viewData.Data.Select(Function(i) i.Rfid).Contains(id) Then
                                                                                                                      Dim curMan As SportsMan = viewData.Data.Where(Function(i) i.Rfid = id).First
                                                                                                                      If curMan.Didnotfinish = False Then
                                                                                                                          If (time - curMan.LastTagTime1).TotalSeconds > CInt(theSetting.MinTime) Then
                                                                                                                              If curMan.Round1 < theSetting.TotalRounds Then
                                                                                                                                  curMan.Round1 += 1
                                                                                                                                  If theSetting.ShowRound1 = True Then viewData.Data = New ObservableCollection(Of SportsMan)(viewData.Data.OrderByDescending(Function(i)
                                                                                                                                                                                                                                                                  Return i.Round1
                                                                                                                                                                                                                                                              End Function).OrderBy(Function(i) i.Didnotfinish).Select(Function(i, index)
                                                                                                                                                                                                                                                                                                                           i.Order = index + 1
                                                                                                                                                                                                                                                                                                                           Return i
                                                                                                                                                                                                                                                                                                                       End Function))
                                                                                                                                  curMan.LastTagTime1 = time
                                                                                                                              End If
                                                                                                                          End If
                                                                                                                      End If
                                                                                                                  End If
                                                                                                              End Sub)
                                                                                     Next
                                                                                     Return 0
                                                                                 End Function}
        Try
            tcpHelper1.Start()
        Catch ex As Exception
            status_Txb1.Text = ex.Message
        End Try

```

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 9月22日
      • 已采纳回答 9月22日
      • 创建了问题 9月4日

      悬赏问题

      • ¥15 有没有大佬能写一个按键LED灯交替闪烁的keil5里的编程
      • ¥15 用python解决excel文件读写
      • ¥15 分别用到哪些协议?如何实现的通信过程?
      • ¥30 nginx代理第三方接口
      • ¥20 求求了有没有人帮我看看怎么判断稳定性
      • ¥50 求解R语言的数据可视化问题
      • ¥15 两块fpga数据传输时钟同步问题
      • ¥15 pycharm 导入paddle模块后找不到enable_static属性
      • ¥15 wear os 哪种模式是只显示时间的,接口在哪。
      • ¥15 ckeditor 使用问题