目前排序的时间超过3S 想改到3S一下 据说可以先把数据取出来放入一个集合中 不过在下实在不会改了。。
//从数据库服务器上获取当天设备加工参数信息
for (int i = 0; i < listturn.Count; i++)
{
itmHandleClient = 1234;
KepItem = KepItems.AddItem(listturn[i].ToString(), itmHandleClient);
itmHandleServer = KepItem.ServerHandle;
} //排序
string[] values = new string[262]; for (int i = 0; i < 262; i++)
{
string itemID = "EA211.AF999.DB" + i.ToString();
foreach (OPCItem item in KepItems)
{
if (itemID == item.ItemID)
{
if (item.Value != null)
{
values[i] = item.Value.ToString();
}
}
}
}排序C#.NET循环
//从数据库服务器上获取当天设备加工参数信息
for (int i = 0; i < listturn.Count; i++)
{
itmHandleClient = 1234;
KepItem = KepItems.AddItem(listturn[i].ToString(), itmHandleClient);
itmHandleServer = KepItem.ServerHandle;
} //排序
string[] values = new string[262]; for (int i = 0; i < 262; i++)
{
string itemID = "EA211.AF999.DB" + i.ToString();
foreach (OPCItem item in KepItems)
{
if (itemID == item.ItemID)
{
if (item.Value != null)
{
values[i] = item.Value.ToString();
}
}
}
}排序C#.NET循环
{
string itemID = "EA211.AF999.DB" + i.ToString();
foreach (OPCItem item in KepItems)
{
if (itemID == item.ItemID)
{
if (item.Value != null)
{
values[i] = item.Value.ToString();
}
break;
}
}
} 用linq的
var query = list.OrderBy(t => int.Parse(t.ItemID.Substring("EA211.AF999.DB".Length))).Select(t=>t.Value);
{
string itemID = "EA211.AF999.DB" + i;
foreach (int j=KepItems.Length-1;j>=0;j-- )
{
OPCItem item=KepItems[j];
if (itemID == item.ItemID&&item.Value != null)
{
values[i] = item.Value.ToString();
break;
}
}
}