如何在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
答案 0 :(得分:1)
试试这个,它是VB.Net的一个。
Dim datatable As New DataTable()
datatable.Columns.Add("Col1")
datatable.Rows.Add("123")
datatable.Rows.Add("123456")
datatable.Rows.Add("12345")
datatable.Rows.Add("Z")
datatable.Rows.Add("ABCD")
datatable.Rows.Add("Cd")
datatable.Rows.Add("Z")
datatable.Rows.Add("Za123456Akwef")`
datatable.AsEnumerable().Select(Function(r) r.Field(Of String)("Col1").Length).Max
答案 1 :(得分:0)
试试这个,它是C#one。
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)
希望这有帮助..
答案 2 :(得分: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)