【发布时间】:2017-06-21 07:45:49
【问题描述】:
我最近遇到了这段代码:
public void AppendTextColour(string text, Color color, bool AddNewLine = false)
{
rtbDisplay.SuspendLayout();
rtbDisplay.SelectionColor = color;
rtbDisplay.AppendText(AddNewLine
? $"{text}{Environment.NewLine}"
: text);
rtbDisplay.ScrollToCaret();
rtbDisplay.ResumeLayout();
}
让我着迷的是AppendText();位的重构:
rtbDisplay.AppendText(AddNewLine? $"{text}{Environment.NewLine}": text);
我只能猜测问号是用来实例化布尔值的,但是这里的美元符号和双点符号绝对是晦涩难懂的。任何人都可以剖析这一点并向我解释吗?
如果我有点模棱两可,我深表歉意,但我无法在任何地方找到任何相关信息。 :/
【问题讨论】:
-
查看ternary operator 和interpolated strings 的C# 文档
-
请参阅docs.microsoft.com/en-us/dotnet/csharp/language-reference/… 了解条件运算符。 (它有时被称为三元运算符,但它的实际名称是条件 ?: 运算符)
-
顺便说一句,每当您试图在编程语言中查找奇怪运算符的名称时,请尝试搜索运算符列表。
-
顺便说一句,现在我发布了一条评论,其中包含指向 SO 文档的 TWO 链接......我感觉自己是一个更好的贡献者。嘿 SO 先生,我想要一件 T 恤!
标签: c# text richtextbox appendtext