अगर मुझे सही याद है तो यह सी # के भाषा डिजाइन का हिस्सा है। const
उन वस्तुओं के लिए आरक्षित है जो उनकी सामग्री को संकलित-समय पर घटा सकते हैं, यानी पहले (दौरान) प्रोग्राम भी बनाया गया है और फिर चलाया जा सकता है। सी # में सभी सरणी रन-टाइम सरणी हैं (जब प्रोग्राम चलते हैं, तब तक उनकी लंबाई निर्धारित होती है) और इस प्रकार उन्हें const
फ़ील्ड में नहीं बनाया जा सकता है। मुझे लगता है कि यह सी # की सीमा है, लेकिन इस तरह उन्होंने इसे करने का फैसला किया।
कारण संदर्भ प्रकार शून्य हो सकते हैं कि null
एक स्थिर मूल्य है, जबकि आपका प्रारंभकर्ता (जो रन-टाइम पर बनाया गया है) नहीं है। null
भाषा में बनाया गया है, इसलिए उस तर्क से इसका मूल्य हमेशा ज्ञात होता है, हर समय (और इस प्रकार, संकलन-समय संदर्भ प्रकारों के लिए उपयोग योग्य)।
संपादित करें:
आप उस पल यह किसी भी अन्य कोड द्वारा इस्तेमाल किया या जरूरत है प्रारंभ किया जाएगा, एक स्थिर तालिका बनाने के लिए हालांकि सक्षम होना चाहिए:
public static int[,] i = { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
^Static Keyword
आप की तरह उस तक पहुँच सकते (अगर यह class A
में अब भी है):
A.i[0, 1]
मुझे आशा है कि तुम बाहर में मदद करता है
अधिक जानने के लिए MSDN देखें: http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(CS0134);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)&rd=true
EDITEDIT: आप कोड को स्थिर तालिका कीलक और कभी किसी को भी इसे बदल जाने के बाद इसे शुरू कर दिया गया है की जरूरत है, वहाँ उस उद्देश्य के लिए readonly
कीवर्ड:
public static readonly int[,] i = { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
^Static ^Readonly Keywords
ध्यान रखें, यह आपको उन स्लॉट में चीजों को फिर से असाइन करने से नहीं रोक पाएगा, लेकिन यह सी # के रूप में तय किया जा सकता है, संपत्ति बनाने या हर बार एक नई सरणी लौटने के लिए।
मैं बस इतना कह सकता हूं वाह। यह मुझे सबसे स्पष्ट के अलावा, पूर्णांक की निरंतर तालिकाओं को बनाने के तरीकों को खोजने के लिए मजबूर कर रहा है। – user2255673
@ user2255673 यदि आप C++'s 'const * const' जैसे कुछ ढूंढ रहे हैं तो आपको इसे C# में नहीं मिलेगा। –
@ उपयोगकर्ता 2255673 हाँ, यह काफी दुर्भाग्यपूर्ण है। लेकिन, आप पूर्णांक की स्थिर सारणी बना सकते हैं और उन पर काम कर सकते हैं, मैंने आपको दिखाने के लिए अपना जवाब संपादित कर लिया है। –