我编写了以下代码来比较一列的DataSet记录(即)记录.我得到以下例外:ex:” Index was outside the bounds of the array.”public void GetRunningTask(){// Process[] lstprocess = Process.GetProcesses();conn=new...
我编写了以下代码来比较一列的DataSet记录(即)记录.我得到以下例外:
ex:” Index was outside the bounds of the array.”
public void GetRunningTask()
{
// Process[] lstprocess = Process.GetProcesses();
conn=new SqlConnection("Data Source=.; Initial Catalog='TTES'; Integrated Security=SSPI;");
da=new SqlDataAdapter("Select AppName from LRNSetting", conn);
ds=new DataSet();
da.Fill(ds,"LRNSetting");
// Process[] lstprocess = Process.GetProcesses();
for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
{
Process[] lstprocess = Process.GetProcesses();
// DataRow dr=ds.Tables[0].Rows.Cast<DataRow>().Single(row=>row["AppName"])
var pro = from p in lstprocess
//where p.ProcessName.Contains("LRCDual")
//where p.ProcessName.Contains(ds.Tables[0].Rows[k].ItemArray) //added temporary
where (p.ProcessName.Contains(ds.Tables[0].Rows[0].ItemArray[k].ToString()))
select p;
}
}
解决方法:
虽然您在ds.Tables [0] .Rows.Count上进行了迭代,但是您正在使用ItemArray的计数器而不是按预期方式使用Rows
ds.Tables[0].Rows[0].ItemArray[k].ToString()
我建议你检查一下你的逻辑
沃梦达教程
本文标题为:C#使用LINQ Query将记录与进程数组的结果进行比较
猜你喜欢
- c# 模拟线性回归的示例 2023-03-14
- user32.dll 函数说明小结 2022-12-26
- Oracle中for循环的使用方法 2023-07-04
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- .NET CORE DI 依赖注入 2023-09-27
- Unity Shader实现模糊效果 2023-04-27
- Unity3D实现渐变颜色效果 2023-01-16
- 如何使用C# 捕获进程输出 2023-03-10
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16