【发布时间】:2016-08-08 23:44:09
【问题描述】:
我使用 switch case 语句创建了这个 asp.net 程序,以确定 C# 中的当前 datetime.now.hour。当我编译它时,什么都没有发生,甚至没有错误 cmets。 我相信我接近让它发挥作用,但我需要指出正确的方向。我将不胜感激任何有用的建议。我相信我的问题是不知道如何正确地将变量转换为正确的数据类型。我真的是 asp.net 的新手,我在练习时正在学习 c#。我在 C++ 方面有一些经验。这是我的代码。
<% Page Language="C#"%>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
int h= Convert.ToInt32(DateTime.Now.ToString("HH");
switch (h)
{
case (h>12): lblMsg.Text="One O'clock!"; break;
case (h>12): lblMsg.Text="Two O'clock!"; break;
case (h>12): lblMsg.Text="Three O'clock!"; break;
case (h>12): lblMsg.Text="Four O'clock!"; break;
case (h>12): lblMsg.Text="Five O'clock!"; break;
case (h>12): lblMsg.Text="Six O'clock!"; break;
case (h>12): lblMsg.Text="Seven O'clock!"; break;
case (h>12): lblMsg.Text="Eight O'clock!"; break;
case (H>12): lblMsg.Text="Nine O'clock!"; break;
case (H>12): lblMsg.Text="Ten O'clock!"; break;
case (H>12): lblMsg.Text="Eleven O'clock!"; break;
default: lblMsg.Text="Twelve O'clock!"; break;
}
}
<script>
<!doctype html>
<head>
</head>
<body>
<asp:Label id="lb1Msg" runat="server" />
<html>
【问题讨论】:
-
你可以做 switch(true) 并保持原样,因为表达式将返回 bool (h > 12 它是真或假)但在你的情况下,我认为它不会任何意义......只要做案例1,案例2 .....案例24。
-
请注意,HH format 给出的值(字符串)从“00”到“23”。
标签: c# asp.net datetime switch-statement