asp.net使用c#中的开关大小写作为datetime.now.hour格式
我使用switch case语句创建了这个asp.net程序,以确定C#中的当前datetime.now.hour。当我编译它时,什么都没有发生,甚至错误注释也没有。 我相信我已经接近成功了,但我需要被指引正确的方向。如果有任何有用的建议,我将不胜感激。我认为我的问题在于不知道如何正确地将变量转换为正确的数据类型。我对asp.net真的很陌生,我在练习的同时学习c#。我有一些C++的经验。这是我的密码asp.net使用c#中的开关大小写作为datetime.now.hour格式,c#,asp.net,datetime,switch-statement,C#,Asp.net,Datetime,Switch Statement,我使用switch case语句创建了这个asp.net程序,以确定C#中的当前datetime.now.hour。当我编译它时,什么都没有发生,甚至错误注释也没有。 我相信我已经接近成功了,但我需要被指引正确的方向。如果有任何有用的建议,我将不胜感激。我认为我的问题在于不知道如何正确地将变量转换为正确的数据类型。我对asp.net真的很陌生,我在练习的同时学习c#。我有一些C++的经验。这是我的密码 <% Page Language="C#"%> <script run
<% 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>
无效页面加载(对象发送方,事件参数e)
{
inth=Convert.ToInt32(DateTime.Now.ToString(“HH”);
开关(h)
{
案例(h>12):lblMsg.Text=“一点!”;中断;
案例(h>12):lblMsg.Text=“两点!”;break;
案例(h>12):lblMsg.Text=“三点!”;break;
案例(h>12):lblMsg.Text=“四点!”;break;
案例(h>12):lblMsg.Text=“五点!”;break;
案例(h>12):lblMsg.Text=“六点钟!”;休息;
案例(h>12):lblMsg.Text=“七点!”;break;
案例(h>12):lblMsg.Text=“八点!”;break;
案例(H>12):lblMsg.Text=“九点!”;break;
案例(H>12):lblMsg.Text=“十点!”;break;
案例(H>12):lblMsg.Text=“十一点!”;break;
默认值:lblMsg.Text=“十二点!”;中断;
}
}
每个case标签指定一个常量值。switch语句将控制权转移到其case标签与开关表达式值匹配的开关节。如果nocase标签包含匹配值,则控制权将转移到默认节(如果有)。如果没有默认节,不采取任何操作,控制权转移到switch语句之外
switch (h)
{
case 1: lblMsg.Text="One O'clock!"; break;
case 2: lblMsg.Text="Two O'clock!"; break;
case 3: lblMsg.Text="Three O'clock!"; break;
case 4: lblMsg.Text="Four O'clock!"; break;
case 5: lblMsg.Text="Five O'clock!"; break;
case 6: lblMsg.Text="Six O'clock!"; break;
case 7: lblMsg.Text="Seven O'clock!"; break;
case 8: lblMsg.Text="Eight O'clock!"; break;
case 9: lblMsg.Text="Nine O'clock!"; break;
case 10: lblMsg.Text="Ten O'clock!"; break;
case 11: lblMsg.Text="Eleven O'clock!"; break;
default: lblMsg.Text="Twelve O'clock!"; break;
}
您正在使用带有大小写的表达式,而它需要常量好的,谢谢。因此表达式是(h>12),如果我使用if-else语句,这可能还可以。我进行了更正,但我的代码没有编译。我有一些错误。我正在尝试调试它们。您可以执行切换(true)其余部分保持原样,因为表达式将返回bool(h>12,可能是真的,也可能是假的),但在您的情况下,我认为这没有任何意义……只需执行案例1、案例2……案例24。请注意,表达式给出了从“00”到“23”的值(字符串)。