【发布时间】:2020-04-23 01:08:50
【问题描述】:
我有一种情况,我需要根据行数将数据集结果拆分为多个表,最终拆分为一个数组。 例如:我的数据集有 34 行和一个 url 列,我需要将 34 行拆分为 4 个数据表(10、10、10 剩余 4 个)并最终添加到一个数组中。我正在使用窗体 Windows 应用程序。 Itried 类似下面的东西,但是每次我将记录添加到数组时,它都会添加整个数据集。任何帮助将不胜感激。
private DataSet Process(DataSet ds)
{
string[] Array1 = new string[10];
string[] Array2 = new string[10];
string[] Array3 = new string[10];
string[] Array4 = new string[10];
int COunt = ds.Tables[0].DefaultView.Count;
int NoOfArraysToCreate = COunt/10 + 1;
for (int i = 0; i <= NoOfArraysToCreate; i++ )
{
if (i == 0)
{
foreach (DataRow drs in ds.Tables[0].Rows)
{
List<String> myList = new List<string>();
myList.Add(drs["Url"].ToString());
Array1 = myList.ToArray();
}
}
else if (i == 1)
{
foreach (DataRow drs in ds.Tables[0].Rows)
{
List<String> myList = new List<string>();
myList.Add(drs["Url"].ToString());
Array2 = myList.ToArray();
}
}
else if (i == 2)
{
foreach (DataRow drs in ds.Tables[0].Rows)
{
List<String> myList = new List<string>();
myList.Add(drs["Url"].ToString());
Array3 = myList.ToArray();
}
}
else if (i == 3)
{
foreach (DataRow drs in dsURLsList.Tables[0].Rows)
{
List<String> myList = new List<string>();
myList.Add(drs["Url"].ToString());
Array4 = myList.ToArray();
}
}
}
【问题讨论】:
-
在所有 if 块中,您循环遍历数据表的所有行并从中创建数组。