在运行时更改数组的名称

本文关键字:数组 运行时 | 更新日期: 2023-09-27 18:19:51

在我的场景中,我从一个web表中获取所有数据并将其存储在一个数组中。每个数组包含一行数据。

我的问题是,我想为每个迭代创建一个具有新名称的新数组。这样第一行中的数据就存储在一个数组中。当提取第二行数据时,应该创建一个新数组,并且数据必须存储在新创建的数组中。

我正在使用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++;
                }
          }

在运行时更改数组的名称

假设您有一个数组列表:

List<int[]> arrayList = new List<int[]>();

你有一个阵列

int[] intArray = new int[5];

比你可以把这些数组放进你的列表。

arrayList.Add(intArray);

如果您知道行是什么,只需创建一个包含行数据的类,然后创建一个类,并在每次检索行时将其推送到您的数组中

我认为您需要使用不同的数据结构,如2D数组或哈希表/字典

您应该使用多维数组。数组声明看起来像这样:

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);

如果您真的想为数组命名,请使用字典:

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"];