int m = 0; int n = 9; StringBuilder sb = new StringBuilder(); sb.Append("<table border=\"1\">"); for (int j = 0; j < 9; j++) { sb.Append("<tr>"); for (int i = m; i < n; i++) { sb.Append("<td>" + i + "</td>"); } sb.Append("</tr>"); m = m + 9; n = n + 9; } sb.Append("</table>"); Response.Write(sb.ToString());
输出如下:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |
63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
StringBuilder html = new StringBuilder(200); html.Append("<table border=\"1\">"); for (int i = 0; i < (9 * 9) / 3; i++) { if (i % 3 == 0) html.Append("<tr>"); html.AppendFormat("<td>{0}</td>", i * 3); html.AppendFormat("<td>{0}</td>", i * 3 + 1); html.AppendFormat("<td>{0}</td>", i * 3 + 2); if (i % 3 == 2) html.Append("</tr>"); } html.Append("</table>");
没测试过,肯定比你那个快。但是不容易扩展
性能不错,就是不够灵活。
@Ewin: 性能和灵活往往是互斥,这个要根据实际情况权衡
我可以回答没有吗!!!
应该有更好的方法吧,哈哈
不错!
路过,简单实用
我觉得应该没有了吧。。。最简单的算法无非就是一个一个填入。。。
这个算法很简单了
int column = 9;
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
for (int i = 0; i < 81; i++)
{
if (i % column == 0)
{
sb.Append("<tr>");
}
sb.AppendFormat("<td>{0}</td>",i);
if (i % column == 8)
{
sb.Append("</tr>");
}
}