3

vb.netでlinqを使用してデータテーブルの列の最大長を見つける方法 col1 5の最大長が必要です.linqを使用してこれを達成するにはどうすればよいですか

    Dim DT as new datatable
    datatable.columns.add("Col1")
    datatable.rows(0).item("Col1")="123"`val inserted
    datatable.rows(1).item("Col1")="1234"`val inserted
    datatable.rows(2).item("Col1")="12345`val inserted
4

3 に答える 3

0

これを試してください、それはC#1です。

DataTable datatable = new DataTable();
datatable.Columns.Add("Col1");
datatable.Rows.Add("123");  
datatable.Rows.Add("123456");
datatable.Rows.Add("12345");
int maxlength = 0;
datatable.Rows.OfType<DataRow>().ToList()
    .ForEach(ss => { maxlength = Convert.ToString(ss.ItemArray[0]).Length > maxlength ? 
        Convert.ToString(ss.ItemArray[0]).Length : maxlength; });

結果は6になります

Vb.Netコードスニペット(翻訳済み、構文についてはよくわかりません)。

Dim datatable As New DataTable()
datatable.Columns.Add("Col1")
datatable.Rows.Add("123")
datatable.Rows.Add("123456")
datatable.Rows.Add("12345")
Dim maxlength As Integer = 0
datatable.Rows.OfType(Of DataRow)().ToList().ForEach(Function(ss) 
maxlength = If(Convert.ToString(ss.ItemArray(0)).Length > maxlength, Convert.ToString(ss.ItemArray(0)).Length, maxlength)

End Function)

この助けを願っています。

于 2012-06-05T13:39:32.113 に答える
0

これを試して:

Dim DT as new DataTable
DT.columns.add("Col1")
DT.rows(0).item("Col1")="123"
DT.rows(1).item("Col1")="1234"
DT.rows(2).item("Col1")="12345" 
Dim maxlength As Integer = DT.AsEnumerable.Max(Function() x("Col1").ToString.Length)
于 2014-05-12T10:50:39.540 に答える