2013-08-16 3 views
1

У меня этот код на C#, но он может достигать 1000 страниц. как я могу присвоить имя переменной page_i без необходимости иметь дело и выписать 1000 случаев?Как изменить имя переменной

int i=0; 
    while (i< sizeofallpages){ 
     switch (i) 
     { 
      case 0: 

       PdfPage page = document.AddPage(); 
       break; 
      case 1: 

       PdfPage page1 = document.AddPage(); 
       break; 
      case 2: 

       PdfPage page2 = document.AddPage(); 
       break; 
    } 
+3

Можете ли вы использовать массив или другой контейнер для хранения всех ваших страниц, а затем просто получить к ним доступ по их индексу? – AndyG

+1

Имя переменной не имеет значения после компиляции, а также удаляются ваши страницы за пределами оператора case. – Sayse

+1

Действительно ли вы набрали это значение до 1000? – asawyer

ответ

6

Если вы хотите сохранить ссылки на страницы:

int i=0; 
PdfPage page = null; 
PdfPage[] pages = new PdfPage[sizeofallpages]; 
while (i < sizeofallpages) 
{ 
    page = document.AddPage(); 
    pages[i] = page; 
    i++; 
} 

После этого, если вы хотите использовать страницу, просто получить доступ к этому:

page[i] 
+5

Для цикла цикл позаботится об увеличении этого счетчика для вас ... – asawyer

+0

Это отлично работает! спасибо – Diana

+0

Даже в цикле for вы должны написать 'i ++' ... – Liel

4

Вы просто необходимо создать список объектов, а затем использовать его соответствующим образом.

List<MyObject> list = new List<MyObject>(); 

for(int count=0; i<sizeofallpages; count++){ 
    list.add(new MyObject()); 
} 

Затем просто войдите в объекты из списка.

+0

@ Jim просто из любопытства, по какой-либо причине, почему вы отредактировали ArrayList для списка ? Спасибо – JNL

+0

Потому что вы изначально не компилировались. Я понял, что вы имеете в виду «Список '. –

+0

ArrayList устарел с момента введения дженериков в C# 2.0. – lukegravitt