我正在研究一个将摄氏温度转换成华氏温度的应用程序,反之亦然。渲染出一张桌子
该应用程序包含字段和单选按钮。用户填入“开始温度”,“结束温度”和“迭代器”并选择从C到F或F到C的转换。
点击一个按钮之后,表格会呈现C温度,转换F中的温度(反之亦然)。我试图用while循环和for循环来完成它,但它不能正常工作。
我知道这是一个不必要的复杂的解决方案,我真的应该明白帮助创建一个更优雅的解决方案,即工作。
var i = 0;
while (startTemp < endTemp) {
i += 1;
TableRow tRow = new TableRow();
tRow.CssClass = (i % 2 == 0 ? "white" : "grey");
tempTable.Rows.Add(tRow);
startTemp = startTemp + iterator;
if (startTemp < endTemp) {
for (int j = 0; j <= 1; j++) {
TableCell tCell = new TableCell();
if ((j % 2) == 0) {
tCell.Text = startTemp.ToString();
}
else {
if (tempType1 == "°C") {
convertedTemp = TemperatureConverter.CelsiusToFahrenheit(startTemp);
}
else {
convertedTemp = TemperatureConverter.FahrenheitToCelsius(startTemp);
}
tCell.Text = convertedTemp.ToString();
}
tRow.Cells.Add(tCell);
}
}
求购输出(迭代器= 2):
Ç--------------------˚F
39 102
41 105
43 109
45 113
47 116
49 120
编辑:该解决方案工作正常,除了一件事。如果我使用1作为开始温度,10作为结束温度和1作为迭代器,它停在9(不应该在10,因为它应该),我只是不明白为什么。
非常感谢!你的解决方案确实比我的更优雅,并且工作得很好,接受它需要以我需要的方式改变。 :) – holyredbeard 2012-02-15 20:35:02