大家晚上,
我正在尝试更新我拥有的数据表中的特定列。 表大约有500行。
我想根据某个列找到行。我一直在阅读table.select和linq之间的区别,从我读到的LINQ应该是很快的。
所以我尝试了两种,我放了秒表,结果不同。
string time1 = "";
string time2 = "";
string time3 = "";
sw.Start();
DataRow foundRowA = datatableTodaysMarkets.Select("BBM_Symbol = '" + newBBM + "'").FirstOrDefault();
sw.Stop();
time1 = sw.Elapsed.ToString();
sw.Reset();
sw.Start();
DataRow foundRow = datatableTodaysMarkets.Rows.Cast<DataRow>().Where(r => r[0].ToString() == newBBM).FirstOrDefault();
sw.Stop();
time2 = sw.Elapsed.ToString();
sw.Reset();
sw.Start();
DataRow results = (from myRow in datatableTodaysMarkets.AsEnumerable()
where myRow.Field<string>("BBM_Symbol") == newBBM
select myRow as DataRow).FirstOrDefault();
sw.Stop();
time3 = sw.Elapsed.ToString();
MessageBox.Show(time1 + "\n" + time2 + "\n" + time3);
结果在截图中
我的第一个问题是我知道test 1是一个数据表选择语句 和测试3是linq。 什么是考试2。
另外,这是否表明测试2比其他选项更好?我可以把它作为福音,还是可以改变的许多不同因素。
感谢!!!