Я должен напечатать таблицу 5х5 с алфавитами, например:
<table>
<tr> <td>A</td> <td>B</td> <td>C</td> <td>D</td> <td>D</td>
и т. Д. Буквы на самом деле являются ссылками, поэтому они будут выглядеть так:
<td> <a href='/someplace'>A</a> </td>
Эти ссылки часто меняются, и мне не хочется их жестко кодировать и заменять, так как они появятся на нескольких страницах. Поэтому я подумал, что напишу функцию для вывода всей структуры.
Да, это довольно просто, заставить цикл for
вести себя так:
StringBuilder alphabets = new StringBuilder("<table class='table'>");
for(int i=65; i<=87; i++)
{
//Do stuff here to calculate if i mod 5 is zero and add <tr> accordingly.
//Use Convert.ToChar(i); to get the wanted structure.
}
Тогда меня поразило, я мог бы сделать это лучше, "умнее", используя вложенные циклы,
for(i=1; i<=5; i++)
{
alpbahets.Append("<tr>")
for(j=1; j<5; j++)
{
//Get the <a > link string here.
}
alphabets.Append("</tr");
}
Теперь вопрос в том, что я могу сделать, чтобы связать i
И j
, чтобы получить их в диапазоне 65-87?
(A-W, поскольку это сетка 5x5, я пропущу последнюю итерацию и вручную добавлю YZ
в одну td
) .
Я пытался (i*10 + j) + 54)
(да, я не знаю, о чем я думал) , но это не работает.
Это может быть ЧРЕЗВЫЧАЙНО глупый вопрос, извините, но как это можно сделать с помощью вложенных циклов for
? Или есть другой способ получше? Я спрашиваю, потому что мне очень любопытно узнать больше (и глупо, что я уже не знаю).