当前位置: 首页 > 知识库问答 >
问题:

使用三元条件运算符进行字符串插值 [重复]

苍兴怀
2023-03-14

我想创建一个日期时间字符串,但添加CET/CEST,具体取决于是否夏时制。

$"{DateTime.Now.ToString("MMMM dd, yyyy, hh:mm tt"} {TimeZoneInfo.Utc.IsDaylightSavingTime(message.RegistrationTime) ? "CEST" : "CET"}

因此,如果IsDay light SavingTime返回true,则附加“CEST”字符串,如果不是,则仅附加“CET”。

有没有简单/快捷的方法来做这件事?

共有1个答案

段良弼
2023-03-14

使用字符串插值时,可以将三元运算符放在< code>()括号中。因此字符串插值中的三元运算符将变成:

 {(TimeZoneInfo.Utc.IsDaylightSavingTime(message.RegistrationTime) ? "CEST" : "CET")}
 类似资料:
  • 我试图在插值字符串中使用条件操作符,但是因为它有一个冒号,编译器认为冒号后面是一个格式字符串。 我如何使用这种类型的语句?我唯一想到的事情是这样的:

  • 我写了一个简单的程序来查找的最小排列,它在字典上比当前的大。但是,编译器发出错误 < code >错误CS1003语法错误,应为“:*”。 我使用VS 2015(更新3),每当我编译该程序(这在语法上似乎是正确的)时,我都会遇到上述错误。 该程序在语法上是否有任何错误?

  • 三元运算符 三元运算符 ? 应该只用在它能让代码更加清楚的地方。 一个条件语句的所有的变量应该是已经被求值了的。类似 if 语句,计算多个条件子句通常会让语句更加难以理解。或者可以把它们重构到实例变量里面。 推荐: result = a > b ? x : y; 不推荐: result = a > b ? x = c > d ? c : d : y; 当三元运算符的第二个参数(if 分支)返回和条

  • 问题内容: 嗨,我只是想知道为什么这段代码(至少对我来说)产生错误的结果。 好吧,我可能在这里错了 我猜想,如果paperType等于“ Bond”,则说明为“ Paper:Bond”,如果paperType不等于“ Bond”,则说明为“ Paper:Other”。 但是,当我运行这段代码时,结果描述是“ Bond”还是“ Other”,让我想知道字符串“ Paper:”去了哪里??? 问题答案

  • 问题内容: 如果Python没有三元条件运算符,是否可以使用其他语言构造来模拟一个? 问题答案: 它是在2.5版中添加的。表达式语法为: 第一被评估,则恰好中的任一个a或b进行评估并返回基于所述布尔值。如果为,则被评估并返回但被忽略,否则被评估为返回但被忽略。 这允许发生短路,因为仅当评估为时才进行评估,而b根本不评估,而当为 评估时,仅当评估时就完全不评估。 例如: 注意条件是表达式,而不是语句