我在数据表中有大量数据。我提取第一列并制作了一个1D字符串数组,因为我想调用一个Web服务方法,它将第一列作为输入。 我必须为每个记录报告Web服务的结果,我需要其余的列来执行此操作。所以我将数据表转换为2D字符串数组。它运行良好,但现在我想以一种将数据表分成相同大小的块的方式更改代码,并为这些块执行此例程。 我编写此代码并为每个块调用Web服务,但我不知道如何访问具有与1D块相同的第一列列表的2D字符串数组块,因此我可以调用Result函数。 / p>
这是我的代码:
if (dt0.Rows.Count != 0)
{
WebReferenceProvisionOmc.stringArray[] noBlkRes;
tels = dt0.AsEnumerable()
.Select(row => row.Field<decimal>("tel_no").ToString().Substring(0, 3) + " " + row.Field<decimal>("tel_no").ToString().Substring(3))
.ToArray();
var tchunks = from index in Enumerable.Range(0,tels.Length)
group tels[index] by index/ChunkSize;
paras = dt0.Rows
.OfType<DataRow>()
.Select(r => dt0.Columns
.OfType<DataColumn>()
.Select(c => r[c.ColumnName].ToString())
.ToArray())
.ToArray();
var pchunks = from ind in Enumerable.Range(0, paras.Length)
group paras[ind] by ind/ChunkSize;
foreach (var c in tchunks)
{
noBlkRes = ws.connectBulk(c.ToArray());
for(int j=0;j<c.ToArray().Length;j++)
{
Result(Convert.ToInt32(noBlkRes[j].item[1]),pchunk????);
}
}
}
我的结果函数原型是这样的:
private static void Result(long res,string[] parameters)