जब string.Format()
विधि के लिए एक तर्क के रूप एक सरणी का उपयोग करने की कोशिश कर रहा है, मैं निम्नलिखित त्रुटि मिलती है:String.Format() के लिए तर्क के रूप में एक सरणी का उपयोग करना
FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
कोड इस प्रकार है के रूप में:
place = new int[] { 1, 2, 3, 4};
infoText.text = string.Format("Player1: {0} \n Player2: {1} \n Player3: {2} \n Player4: {3}", place);
ऐरे में चार मान होते हैं और String.Format()
में तर्क भी समान हैं।
इस त्रुटि का कारण क्या है?
आप एक गुजर रहे हैं ' int [] 'के रूप में एक स्ट्रिंग []' –
के विपरीत शायद 'string.Format ("प्लेयर 1: {0} \ n प्लेयर 2: {1} \ n प्लेयर 3: {2} \ n प्लेयर 4: {3}" , जगह [0], जगह [1], जगह [2], जगह [3]); ' यह काम करता है जैसे आप स्ट्रिंग – Awais
में प्रत्येक {} से संबंधित ऑब्जेक्ट पास करते हैं बस स्ट्रिंग.फॉर्मैट का उपयोग करने के बजाय, रिकॉर्ड के लिए, आप बना सकते हैं खिलाड़ियों की संख्या को हार्डकोड किए बिना स्ट्रिंग को अधिक गतिशील रूप से, उदाहरण के लिए: 'infoText.text = string.Join ("\ n", place.Select ((p, i) => $ "प्लेयर {i + 1}: {p} "));' –