2012-12-20 5 views
6

VB.NET में, आप का दृष्टांत सकता है और तुरंत इस तरह एक सरणी का उपयोग करें:क्या सी # में शॉर्टैंड सरणी घोषणा जैसे {"string1", "string2"} के लिए VB.NET समकक्ष है?

Dim b as Boolean = {"string1", "string2"}.Contains("string1")

सी # में, हालांकि, यह आप प्रकट होता है यह करने के लिए:

bool b = new string[] { "string1", "string2" }.Contains("string1");

करता है सी # समकक्ष शॉर्टंड सिंटैक्स है जो सरणी के प्रकार को स्पष्ट रूप से घोषित किए बिना टाइप अनुमान को उपयोग करता है?

उत्तर

19

Implicitly typed arrays उनके प्रकार शामिल करने के लिए नहीं है, बशर्ते वह inferred हो सकता है:

bool b = new [] { "string1", "string2" }.Contains("string1"); 
+0

और आप इसके बारे में यहां और अधिक पढ़ सकते हैं: http://msdn.microsoft.com/en-us/library/bb384090.aspx – Pete

+0

आह यह बहुत बुरा है। मैं आशा करता था कि यहां तक ​​कि 'नया []' भी निर्दिष्ट न करें, लेकिन मुझे लगता है कि यह वही है। धन्यवाद। – oscilatingcretin

3

यह Implicitly Typed Arrays

कहा जाता है तुम एक परोक्ष टाइप सरणी बना सकते हैं, जिसमें के प्रकार सरणी उदाहरण सरणी प्रारंभकर्ता में निर्दिष्ट तत्वों से अनुमानित है। किसी भी अंतर्निहित टाइप किए गए चर के नियम भी पर लागू रूप से टाइप किए गए सरणी पर लागू होते हैं।

static void Main() 
    { 
     var a = new[] { 1, 10, 100, 1000 }; // int[] 
     var b = new[] { "hello", null, "world" }; // string[] 
    } 

आप यह भी दांतेदार सरणी के लिए उपयोग कर सकते हैं।

संबंधित मुद्दे