来自MSDN(重点是我的):
$"{person.Name, 20} is {person.Age:D3} year {(p.Age == 1 ? "" : "s")} old."
您不需要在包含的内插表达式中引用引号字符,因为内插字符串表达式以 $ 开头,并且编译器会将包含的内插表达式扫描为平衡文本,直到找到逗号、冒号或右大括号。出于同样的原因,最后一个示例使用括号来允许条件表达式 (p.Age == 1 ?“” : “s”)
位于插值表达式内,不带冒号开始格式规范。在包含的内值表达式之外(但仍在内插字符串表达式中),您可以像往常一样转义引号字符。
如果没有括号,解析器将冒号后面的部分作为格式说明符(比较上面示例的{person.Age:D3}
部分)。
我试图在插值字符串中使用条件操作符,但是因为它有一个冒号,编译器认为冒号后面是一个格式字符串。 我如何使用这种类型的语句?我唯一想到的事情是这样的:
我在试着写作 但是我收到编译器错误 CS1003语法错误,':'预期 是期待行为还是bug?
我想创建一个日期时间字符串,但添加CET/CEST,具体取决于是否夏时制。 因此,如果返回true,则附加“CEST”字符串,如果不是,则仅附加“CET”。 有没有简单/快捷的方法来做这件事?
问题内容: 尝试编译时出现“不是语句”的编译错误,代码为: 当这些功能是: 有任何想法吗? 问题答案: 是的,您不能像这样使用条件运算符。其目的是计算一个或另一个 表达式 。它并不是要选择一个要执行的 语句 或另一条 语句 的方法。 只需使用:
我一直在仔细阅读这篇SO文章,试图将花括号文字放在我的插值字符串周围。 我对的预期结果是“{foo}”。我曾尝试用反斜杠转义外部的花括号,但这不起作用,我也没想到会这样。我怎么才能在插入的字符串变量周围加上文字花括号?更准确的例子是: 预计:“我想吃一些{foo}。” 实际:“我想吃一些{testString}。” 我怎样才能做到这一点?(我还在和之间尝试了,但没有成功。)
但是我发现我不能用围棋做同样的事情,我必须写一个if-else语句。我只是想知道为什么在围棋世界里不存在这种情况(是否有一些设计原则来解释这种情况)