2013-06-24 6 views
-1

В моем сценарии я извлекаю все данные из веб-таблицы и сохраняю их в массиве. Каждый массив содержит данные одной строки.изменить имя массива во время выполнения

Моя проблема здесь, я хочу создать новый массив с новым именем для каждой итерации. Так что данные в первой строке сохраняются в одном массиве. Когда выбираются данные второй строки, должен быть создан новый массив, и данные должны быть сохранены во вновь созданном массиве.

Я использую язык 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++; 
       } 
      } 
+4

Я не Нет никакого кода. –

+0

Возможно, вы хотите взглянуть на [многомерные массивы] (http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx)? – Leri

+2

Что вы подразумеваете под новым именем? Я думаю, что вам нужен массив массивов aka 2d array. –

ответ

0

Если вы знаете, что строки будут, просто создать класс, содержащий данные строки, а затем создать класс, и вставьте его в свой массив каждый раз, когда вы считываете ряд

0

Я думаю, вам нужно использовать другую структуру данных, как массив 2D или хэш-таблицу/словаря

1

Предположим, у вас есть список массива:

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

и у вас есть массив

int[] intArray = new int[5]; 

, чем вы можете поместить эти массивы в свой список.

arrayList.Add(intArray); 
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); 
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"]; 
Смежные вопросы