固定宽度字符串到顺序结构

时间:2016-03-30 15:35:47

标签: vb.net

我是VB.NET的新手,所以我不确定这是否是一个愚蠢的问题..

所以我有一个大的固定宽度字符串,我想解析成固定宽度的结构。我想知道我是否可以将它分配给顺序结构(也许使用指针?)或者如果使用TextFieldParser并且单独分配每个字段是唯一的方法。我有一个大字符串,代表可能有100个不同的字段,但是出于我想要完成的目的,我将提供这个。

我正在调用一个会返回固定宽度记录的函数,就像我这样的记录......

Dim inRec as String("FIRST NAME           LAST NAME    03302016")

我查看了MSDN关于创建固定结构布局的文章,我不认为我理解得很好......

https://msdn.microsoft.com/en-us/library/s9ts558h(v=vs.110).aspx

从他们的例子我可以创建这样的结构......

<StructLayout(LayoutKind.Sequential, CharSet := CharSet.Unicode)> _
Structure My_Record
<MarshalAs(UnmanagedType.ByValTStr, SizeConst := 21)> Public fName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst := 13)> Public lName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst := 8)> Public mDate As String
End Structure

Dim currentRecord as New My_Record

有没有办法将inRec字符串分配给currentRecord,以便字符串排列到结构中的固定宽度字段?或者在TextFieldParser中使用FieldWidths分解inRec,然后将它们单独分配给struct的成员,这是打破像这样的固定宽度记录的唯一方法吗?

0 个答案:

没有答案