在我的场景中,我从Web表中获取所有数据并将其存储在数组中。每个数组都包含一行数据。
我的问题是,我想为每次迭代创建一个新名称的新数组。这样第一行中的数据就存储在一个数组中。获取第二行数据时,应创建一个New数组,并且数据必须存储在新创建的数组中。
我正在使用c#语言。
这是我的代码
IWebElement table = _Browser.FindElementById("", "gview_jqGrid");
IList<IWebElement> rowCollections = table.FindElements(By.TagName("tr"));
int RowCnt = rowCollections.Count;
String[] DataArray = new String[RowCnt];
foreach (IWebElement row in rowCollections)
{
IList<IWebElement> colCollection = row.FindElements(By.TagName("td"));
foreach (IWebElement col in colCollection)
{
String Data = col.Text;
// ------ Here I want a array to store data. A new array for each Iteration
j++;
}
}
答案 0 :(得分:1)
假设您有一个数组列表:
List<int[]> arrayList = new List<int[]>();
你有一个数组
int[] intArray = new int[5];
比你可以将这些数组放入你的列表中。
arrayList.Add(intArray);
答案 1 :(得分:0)
如果您知道行将是什么,只需创建一个包含行数据的类,然后创建一个类,并在每次检索行时将其推送到数组中
答案 2 :(得分:0)
我认为你需要使用不同的数据结构,比如2D数组或哈希表/字典
答案 3 :(得分:0)
您应该使用多维数组。数组声明看起来像这样:
object[,] table = new object[10, 10];
请参阅:http://msdn.microsoft.com/en-us/library/2yd9wwz4(v=vs.110).aspx
如果你不知道它会有多大,你可能想要一个数组列表。假设有10列:
List<object[]> table = new List<object[]>();
var row = new object[10];
// populate row array here...
table.Add(row);
答案 4 :(得分:0)
如果您真的想为数组命名,请使用字典:
var arrays = new Dictionary<string, int[]>();
while (rows available) {
var a = new int[10];
FillArrayFromRow(a, row);
string name = GetNameFrom(row);
arrays.Add(name, a);
}
您可以像这样访问命名数组
int[] x = arrays["a name"];