我有一個數據字符串,我想拆分成一個類的列表,將所有數據解析出來,構造器中的不同屬性。每個塊都以一個STX字符開頭,並以一個字符串「PLC」結尾(我不知道廠商爲什麼不使用ETX)將字符串拆分成一個列表(T)
所以基本上,String String將數據流拆分爲字符串「PLC」(並保持它),並把它放入DataList控件(的數據類)
數據流是這樣的:
STX1;0;0;0;0;1;0;0;0;0;0;+3272;-2145;+3273;-2145;PLC\r\nSTX1;0;0;0;0;1;0;0;0;0;0;+3276;-2145;+3272;-2145;PLC\r\nSTX1;0;0;0;0;1;0;0;0;0;0;+3281;-2145;+3272;-2145;PLC\r\n
,並會導致三個條目中(的數據類)的列表:
STX1;0;0;0;0;1;0;0;0;0;0;+3272;-2145;+3273;-2145;PLC
STX1;0;0;0;0;1;0;0;0;0;0;+3276;-2145;+3272;-2145;PLC
STX1;0;0;0;0;1;0;0;0;0;0;+3281;-2145;+3272;-2145;PLC
我看了,我發現了很多關於拆分字符串的信息,但沒有把它放入類或列表中。我敢肯定,我可以這樣做:
dim datalist as list(of dataclass)
dim splitdata() as string = datastream.split("PLC")
for each data as string in splitdata
datalist.Add(new dataclass(data))
next
,但我敢肯定有一個更efficant方式(可能使用正則表達式或LINQ,但我不是真的任何familary
感謝英寸!前進
這將有所幫助,如果你有和示例輸入字符串和你想要的對象的輸出。 – Magnus
我已添加您請求的信息。 – BinaryDuck