相关疑难解决方法(0)

我在哪里可以找到C#语言规范6.0?

我知道在哪里可以找到C#5语言规范,但我无法在任何地方找到C#6语言规范.

C#6语言规范在哪里?

c# language-specifications c#-6.0 visual-studio-2015

84
推荐指数
2
解决办法
8888
查看次数

将CallerMemberName与params结合使用

现在(C#4.0)我们的日志记录方法看起来像

public void Log(string methodName, string messageFormat, params object[] messageParameters)
Run Code Online (Sandbox Code Playgroud)

记录器执行字符串格式化的位置,以便调用者没有放置String.Format来创建一个很好的日志消息(如果没有附加logviewer,则允许记录器跳过字符串格式).

使用c#5.0我想通过使用新的CallerMemberName属性来摆脱methodName参数,但我不知道如何将它与'params'关键字结合起来.有没有办法做到这一点?

c# string-formatting optional-parameters c#-5.0

26
推荐指数
3
解决办法
4557
查看次数

具有布尔格式的字符串插值

如何为布尔值指定与其他类型的其他格式字符串一致的格式字符串?

给出以下代码:

double d = Math.PI;
DateTime now = DateTime.Now;
bool isPartyTime = true;

string result = $"{d:0.0}, {now:HH:mm}, time to party? {isPartyTime}";
Run Code Online (Sandbox Code Playgroud)

我可以为每个原始类型指定一种格式,但bool看起来除外。我知道我能做到:

string result = $"{d:0.0}, {now:HH:mm}, time to party? {(isPartyTime ? "yes!" : "no")}";
Run Code Online (Sandbox Code Playgroud)

但这仍然与其他类型不一致。

有没有一种方法可以使插值字符串中的布尔值保持一致?

PS我确实搜索了包含此链接的答案:

/sf/ask/tagged/c/%23+string-interpolation+boolean

令人惊讶的是结果为零。

c# boolean string-interpolation

7
推荐指数
2
解决办法
2213
查看次数