對於從RTSP解析SDP信息,目前我使用默認的c#字符串函數(如逐行循環字符串)和foreach/switch方法。默認SDP信息來自一個設備以這種形式:使用LINQ查詢字符串
v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
[email protected] (Mark Handley)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 3456 RTP/AVP 0
m=video 2232 RTP/AVP 31
m=whiteboard 32416 UDP WB
a=orient:portrait
我想知道是該字符串是查詢能夠使用LINQ或東西代替foreaching每一行中,切換第一字符,然後存儲該其餘部分的值,因爲這種方法對故障和錯誤非常敏感(例如,當2個屬性/參數在1行上,或者第一個字符不是偶然的正確的時候(例如,之前有空格))。在開始討論每一個可能發生的異常之前,我想知道是否有一種技術可以使用LINQ來查詢字符串的值/鍵。
什麼預期要存儲的結果? –
你有三個'm'鍵。你想如何處理? –
@CuongLe對於像v,o,s這樣的唯一鍵,我有特定的變量。對於像m這樣的鍵,就像你在上面的例子中看到的那樣,我想使用列表。在這個例子中還有另一種類型的鍵/值:屬性。它們被寫成如下: 'a = fmpt:RTP/96' 所以我想查詢屬性(a's),然後查詢鍵值(字符串在:)之前和值(字符串在:)之後 – user1450661