स्ट्रिंग इंटरपोलेशन वास्तव में एक सी # 6.0 सुविधा है, लेकिन सी # 6 वीएस2015 तक सीमित नहीं है।
आप Microsoft.Net.Compilers
NuGet package के माध्यम से Roslyn कंपाइलर प्लेटफ़ॉर्म को लक्षित करके VS2013 में C# 6.0 भाषा सुविधाओं का लाभ उठाने वाले अनुप्रयोगों को संकलित कर सकते हैं।
मेरा अनुभव यह रहा है कि, इस पैकेज को स्थापित करने के बाद, संकलन के दौरान त्रुटि संदेश थोड़ा भ्रामक हो सकता है। यदि आपके पास संकलन त्रुटियां हैं जो सी # 6 से संबंधित नहीं हैं, तो आपको उन त्रुटि संदेशों और त्रुटि संदेशों को दिखाया जाएगा जो किसी भी सी # 6 फीचर्स से संबंधित अमान्य वाक्यविन्यास से संबंधित हैं, इस तथ्य के बावजूद कि अब आप उन्हें समर्थन करने वाले कंपाइलर को लक्षित कर रहे हैं।
उदाहरण के लिए
...
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Title = "Home Page";
var example = $"{ViewBag.Title}";
ImASyntaxErrorWhatAmIWheresMySemicolonLOL
return View();
}
}
संकलन के दौरान 4 त्रुटि संदेश में परिणाम होगा:
त्रुटि 1 अप्रत्याशित चरित्र '$'
त्रुटि 2 अमान्य एक्सप्रेशन 'शब्द'
त्रुटि 3; अपेक्षित
त्रुटि 4; अपेक्षित
पहले 3 त्रुटियां स्ट्रिंग इंटरपोलेशन का उपयोग करने वाली रेखा से संबंधित हैं, केवल अंतिम ; expected
त्रुटि एक समस्या है। View
वापस करने से पहले आपत्तिजनक रेखा को हटाएं और स्ट्रिंग इंटरपोलेशन संकलन त्रुटियां गायब हो जाती हैं और सब ठीक है।
आपको वीएस2015 की आवश्यकता है, जो कि आपके लिए सौभाग्य से आज जारी होने की वजह से है! –
@ डेविड अर्नो आप सी # 6 डब्ल्यू/वीएस2013 का उपयोग कर सकते हैं, आपको बस एक NuGet पैकेज की आवश्यकता है। [नीचे मेरा जवाब] देखें (http://stackoverflow.com/questions/31514767/string-interpolation-doesnt-work-with-net-framework-4-6/33179311#33179311)। – joelmdev