我将文件夹中的信息放入数据表中。我使用以下代码行将信息放入数据表中:
dtUpgradeFileInfo.Rows.Add(NUMS [0],NUMS [1],NUMS [2],TEST1);
它似乎正在工作,但我对C#中的数据表并不熟悉,就像我在VB中一样。如何搜索第一列具有特定值的数据表,如果第一列中有多个具有相同值的行,则第三列具有最高值。一旦找到了我需要的行,我也不确定如何检索信息。每列的类型分别为int,int,int,string。
答案 0 :(得分:0)
如果用VB表示 VB.NET 而不是VB6,那么使用DataTables(而不是传统的VB记录集)的代码在C#中是相同的。相反,您将采用的方法,显然语法将是不同的,因为它是C#。除了括号之外,还有分号和括号。但是他们使用相同的对象,调用相同的方法。
无论如何,你可以这样做(C#3.0 +)
DataRow matchingRow = (from DataRow row in dtUpgradeFileInfo.Rows
where (int)row["Column1"] == yourValue
orderby (int)row["Column3"] descending
select row).FirstOrDefault();
if (matchingRow != null)
{
// get to work
}
对于非LINQ答案(任何版本的C#)
string filter = "Column1 = " + yourValue.ToString();
string sortOrder = "Column3 desc";
dtUpgradeFileInfo.DefaultView.RowFilter = filter;
dtUpgradeFileInfo.DefaultView.Sort = sortOrder;
DataRow myRow = null;
DataTable filteredTable = dtUpgradeFileInfo.DefaultView.ToTable();
if (filteredTable.Rows.Count > 0)
myRow = filteredTable.Rows[0];
if (myRow != null)
{
// get to work
}