2017-05-07 58 views
5

任何人都可以告诉我什么是VisualStudio 2017试图告诉我关键字下方的灰色省略号?VisualStudio 2017灰色省略号低于关键字

将鼠标放在它上面或右键单击它都不会告诉我为什么这个符号显示在那里。

VisualStudio2017 code image

+0

也许这个值没有被初始化并用作out参数? –

回答

3

有一个代码建议/重构隐藏在那里告诉你,你写的东西也可以写在其他形式,同时实现相同的功能。

直到C#7,即2017年VS,这是书面的方式,但与C#7 inline outs,你可以将其降低到

return TryGetValue(key, out TValue value) ? value : defaultValue; 

你也可以把它声明var这是不可能的前面。所以,你可以写为

return TryGetValue(key, out var value) ? value : defaultValue; 

如何实现这个

把你的光标移动到...,可通过两种方式

  1. 看到这个建议按Ctrl + .
  2. roslyn灯泡会出现,你可以点击它和下拉会建议你一样。
3

(下面对本方法的第一行的“TValue”灰色省略号)这是一个提示。将光标放在它上面,给它一两秒钟,你会看到一个Roslyn灯泡出现。

在这种情况下,它可能试图告诉你,C#语法7将允许你声明了变量内联:

this.TryGetValue(key, out TValue value) ? value : defaultValue; 
+0

难道它不是'出TValue价值'?当然,这是一个我不知道我需要的功能。在我看来,它使代码*更少*可读。 –

+0

@Cody Gray,你是对的,谢谢你的收获。 –

0

这是一个重构的暗示。

您可以使用View.QuickActions(默认键盘快捷键:ctrl + .),而插入符号位于省略号之上,以查看有哪些选项。