2017-08-16 7 views
5

क्या अन्य सरणी सहित सी # में कई प्रकार की सरणी रखने का कोई तरीका है? जाहिरा तौर पर मैं यह कर सकता :कई प्रकार के ऐरे सी (अन्य सरणी सहित)

object[] x = {1,"G",2.3, 2,'H'}; 

लेकिन इस:

object[] x = {1,"G",2.3, 2,'H', {2} }; 

यह करने के लिए उचित तरीका क्या है?

उत्तर

7

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

ऐरे प्रारंभकर्ता केवल एक चर या फ़ील्ड प्रारंभकर्ता में उपयोग किया जा सकता है। एक नई अभिव्यक्ति कीड़े का प्रयोग करने की कोशिश करें

आपको स्पष्ट रूप से नेस्टेड सरणी प्रारंभ करना होगा। यह इस तरह से है और यह काम करता है:

object[] x = { 1, "G", 2.3, 2, 'H', new int[]{ 2 } }; 
// Or a bit cleaner 
object[] x = { 1, "G", 2.3, 2, 'H', new []{ 2 } }; 

पढ़ें के बारे में अधिक Array Initializers

यदि आप एक 2 आयामी सरणी निर्धारित करेंगे आपका वाक्य रचना काम करेगा:

object[,] x = { {"3"}, { 1 }, { 2 } }; 
4

object[] x = {1,"G",2.3, 2,'H', {2} }; गलत था और कर सकते हो

object[] x = { 1, "G", 2.3, 2, 'H', new int[]{ 2 } };

का उपयोग करें
संबंधित मुद्दे