如果你用VB代表你的意思是VB.NET而不是像VB6那樣,那麼在C#中與DataTables(而不是傳統的VB記錄集)相配合的代碼將是相同的。相反,你會使用的方法,顯然語法將是不同的,因爲它是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
}
也許我做錯了什麼,但我無法讓這個工作。錯誤行無處不在要求在行中間的分號和無效)和無效。 – Bryan 2010-10-21 00:28:00
和VB.Net 2008是我習慣使用。 – Bryan 2010-10-21 00:29:50
抱歉,錯字未在IDE中輸入。如果你有更多的問題,這期望你在你的文件中使用System.Data和'System.Linq;'。 – 2010-10-21 00:39:12