我有一个简单的DataTable地方,其中一列包含唯一值.例如:
ColumnName1 ColumnName2
value1 35
value2 44
value3 10
Run Code Online (Sandbox Code Playgroud)
因为我知道值1,2和3将始终彼此不同,所以我想仅使用ColumnName2和ColumnName1的值之一来获取此表的值.那将是例如:
searchedValue = DataTable.Rows("value3").Item("ColumnName2)
'result would be 10
Run Code Online (Sandbox Code Playgroud)
我尝试了以下示例失败:
使用DataTable.Select方法:返回一个行数组,但我只需要一个
使用DataTable.Rows.IndexOf方法:如果我理解得很好,我需要提供整个行内容,以便使用此方法找到它.
Ami*_*ach 51
Dim rows() AS DataRow = DataTable.Select("ColumnName1 = 'value3'")
If rows.Count > 0 Then
searchedValue = rows(0).Item("ColumnName2")
End If
Run Code Online (Sandbox Code Playgroud)
用FirstOrDefault:
Dim row AS DataRow = DataTable.Select("ColumnName1 = 'value3'").FirstOrDefault()
If Not row Is Nothing Then
searchedValue = row.Item("ColumnName2")
End If
Run Code Online (Sandbox Code Playgroud)
在C#中:
var row = DataTable.Select("ColumnName1 = 'value3'").FirstOrDefault();
if (row != null)
searchedValue = row["ColumnName2"];
Run Code Online (Sandbox Code Playgroud)