首页 > 解决方案 > 执行此代码将创建什么类型的列?

问题描述

我创建了一个读取制表符分隔文本文件并根据其标题排列创建数据表的函数。

下面是我的代码:

Private Function MakeDataTable(ByRef XSplitLine) As DataTable
    Dim AMZTable As New DataTable
    Dim i = 0
    For Each item In XSplitLine
        AMZTable.Columns.Add(XSplitLine(i).ToString)
        i += 1
    Next

    Return AMZTable
End Function

XSplitLine是一个数组,它保存来自文本文件的标题名称(该文本文件中的第一行)。如您所见,我在创建列时没有提到任何数据类型,但它仍然执行没有任何错误。

我的问题是什么类型的值可以存储在这些列中,因为我没有在代码中提到它?

标签: vb.netdatatabledatacolumndatacolumncollection

解决方案


列的数据类型将是 type String

从https://referencesource.microsoft.com中可以看出,使用的DataColumnCollection.Add调用重载的构造函数DataColumn接受字符串作为参数。
这反过来调用构造函数,该构造函数接受四个参数并将第二个参数(数据类型)设置为typeof(string).


推荐阅读