我编写了以下代码来比较一列的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# – NetUseAdd来自Windows Server 2008和IIS7上的NetApi32.dll 2023-09-20
- c#中利用Tu Share获取股票交易信息 2023-03-03
- C#通过GET/POST方式发送Http请求 2023-04-28
- 京东联盟C#接口测试示例分享 2022-12-02
- c#读取XML多级子节点 2022-11-05
- C#中类与接口的区别讲解 2023-06-04
- Unity shader实现多光源漫反射以及阴影 2023-03-04
- 使用c#从分隔文本文件中插入SQL Server表中的批量数据 2023-11-24
- C# Winform实现石头剪刀布游戏 2023-01-11
- C#集合查询Linq在项目中使用详解 2023-06-09