2017-03-04 27 views
0

我通过微软的C# tutorial来学习.net,我已经把这段代码放到我的VS 2013中,出于某种原因,输出显示“$”是一个意想不到的字符。在本教程中也没有提及从系统using东西侧,MS C#教程代码在VS2013中不起作用?

从MS

using System; 

class Program 
{ 
    static void Main() 
    { 
     var name = "Steve"; // use your name here 
     Console.WriteLine($"Hello {name}!"); 
    } 
} 

我有什么

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main() 
     { 
      var name = "John"; 
      Console.WriteLine($"Hello {name}!"); 
     } 
    } 
} 

VS2013说,它期待一个“)”中的一部分其写入的行($"Hello {name}!");

如果我删除了$,它会输出句子,因为它的写法为您好{name}!

还有什么问题呢?

回答

7

Interpolated Strings(以$"开头的字符串文字)在C#6.0(Visual Studio 2015)中引入。

请注意,您可以下载并使用免费的社区版的Visual Studio 2015,如果你是学生,一个开放源代码的开发人员或和个人开发者。 Visual Studio 2017 is Launching on March 7 2017,并且还有一个免费的社区版,并支持C#7.0(引入新的元组语法,模式匹配等元组)。

官方Visual Studio Downloads网站。

+1

哦,我只需要更新好,真棒谢谢奥利维尔! – Umeed

1

这就是你如何做到这一点(前c#6.0)。

Console.WriteLine(String.Format("Hello {0}", name)); 
+0

有趣。那么插入字符串的引入使它更简单和更灵活? – Umeed