获取DataTable的每个字段的最大长度

时间:2016-06-10 07:31:02

标签: c# vb.net datatable translate

我的目标是将DataTable的全部内容显示为RichTextBox,因此我考虑使用String.Format制作列,但我需要知道每个内容的最大长度列。

我在SO上找到了以下C#代码,但我无法将其翻译为VB.Net:

List<int> maximumLengthForColumns = Enumerable.Range(0, dataTable.Columns.Count)
                                   .Select(col => dataTable.AsEnumerable()
                                   .Select(row => row[col]).OfType<string>()
                                   .Max(val => val.Length)).ToList();

任何不同(更容易或更好)的方式来达到我的目标的任何提示都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

它应该是这样的:

Dim maximumLengthForColumns As List(Of Integer) = Enumerable.Range(0, dataTableDataTable.Columns.Count)
                                                 .[Select](Function(col) dataTable.AsEnumerable()
                                                 .[Select](Function(row) row(col))
                                                 .OfType(Of String)().Max(Function(val) val.Length)).ToList()

格式化代码如下(这只是为了便于阅读):

try{
    while(!isSkipClicked){
    //your multithreading code
    }
    //code to move...
}

答案 1 :(得分:0)

{{1}}