दिलचस्प पोस्ट
एंड्रॉइड किटकैट में WebView रेंडरिंग इश्यू TypeError: 'अपरिभाषित' एक फ़ंक्शन नहीं है (मूल्यांकन '$ (दस्तावेज़)') एंड्रॉइड एसएसएल – एसएनआई समर्थन नेविगेशन बार शो / छिपाना आईफ़ोन: एमके एन्नेटेशन बनाएं हाशटेबल पर डिक्शनरी क्यों पसंद है? क्या इसमें शामिल होने में कुछ गड़बड़ है जो एसक्यूएल या माय एसक्यूएल में जॉइन कीवर्ड का उपयोग नहीं करते हैं? "फेल अर्ली" का क्या अर्थ है, और आप ऐसा कब करना चाहते हैं? डोमनेोड के लिए वैकल्पिक मुसीबत वॉली के माध्यम से सीमा के साथ मल्टीपार्ट फ़ाइल भेज रहा है Fopen () के साथ एक फ़ाइल खोलने में असमर्थ ICloud ड्राइव पर आईओएस 8 दस्तावेज़ सहेजें स्प्रिंग @ ट्रांज़ैक्शन विधि कॉल एक ही कक्षा में विधि द्वारा कॉल करती है, काम नहीं करती? कैसे "java.io.IO.exeception: त्रुटि = 12 को हल करने के लिए, मेमोरी आवंटित नहीं कर सकता है" कॉलम रनटाइम # exec ()? कैसे एक उपयोगकर्ता symfony2 एक नियंत्रक अंदर लॉग इन है की जाँच करने के लिए?

सरणी क्यों है। लैंप एक int, और एक यूआईटी

Array.Length क्यों है। Array.Length एक int, और नहीं एक uint । यह मुझे परेशान करता है (सिर्फ एक बिट), क्योंकि एक लम्बाई का मूल्य नकारात्मक द्वारा कभी भी नहीं हो सकता।

इससे मुझे अपने वर्ग पर लम्बी-प्रॉपर्टी के लिए इंट का उपयोग करने के लिए भी मजबूर किया गया था, क्योंकि जब आप एक इंट-वैल्यू निर्दिष्ट करते हैं, तो इसे स्पष्ट रूप से डालने की आवश्यकता होती है …

तो अंतिम प्रश्न यह है कि क्या अहस्ताक्षरित एक ( uint ) के लिए कोई फायदा है? यहां तक ​​कि माइक्रोसॉफ्ट उन्हें इस्तेमाल नहीं करते हैं।

Solutions Collecting From Web of "सरणी क्यों है। लैंप एक int, और एक यूआईटी"

UInt सीएलएस के अनुरूप नहीं है और इसलिए उन भाषाओं के लिए संपत्ति का उपयोग प्रतिबंधित करेगा जो एक UInt कार्यान्वित करते हैं

यहाँ देखें:

फ्रेमवर्क 1.1

.NET फ़्रेमवर्क क्लास लाइब्रेरी का परिचय

फ्रेमवर्क 2.0

.NET फ़्रेमवर्क कक्षा पुस्तकालय अवलोकन

बहुत से कारण:

  • यूआईआईटी सीएलएस के अनुरूप नहीं है, इस प्रकार इस प्रकार एक निर्मित प्रकार (सरणी) को निर्भर करता है जो उस पर निर्भर होता है
  • मूल रूप से डिजाइन किए जाने वाले रनटाइम 2 जीबी मेमोरी से अधिक के ढेर पर किसी ऑब्जेक्ट पर रोक लगाते हैं। चूंकि अधिकतम आकार की सरणी जो इस सीमा से कम या बराबर होती है, वह नई बाइट होगी [int.MaxValue] चूंकि यह सकारात्मक और अवैध सरणी लंबाई पैदा करने में सक्षम होने के लिए लोगों को परेशान करेगा।
    • नोट करें कि इस सीमा को 4.5 रिहाई में कुछ हद तक हटा दिया गया है , यद्यपि इंट के रूप में मानक लंबाई रहता है।
  • ऐतिहासिक रूप से सी # अपने वाक्य रचना और सम्मेलन से अधिक सी और सी ++ से प्राप्त करता है उन सरणियों में केवल संकेतक अंकगणित हैं, इसलिए नकारात्मक सरणी अनुक्रमण संभव था (हालांकि सामान्य रूप से गैरकानूनी और खतरनाक)। चूंकि बहुत मौजूदा कोड मानता है कि सरणी अनुक्रमणिका हस्ताक्षरित होती है, यह एक कारक होता
  • संबंधित नोट पर सी / सी ++ में सरणी अनुक्रमणिका के लिए हस्ताक्षरित पूर्णांकों का उपयोग इसका मतलब है कि इन भाषाओं और अनस्टेनड फ़ंक्शंस के साथ इंटरपॉप को उन परिस्थितियों में इनटों के उपयोग की आवश्यकता होती है, जो असंगतता के कारण भ्रमित हो सकते हैं।
  • द्विआधारी खोज कार्यान्वयन (कई एल्गोरिदम का एक बहुत उपयोगी घटक) इंट की नकारात्मक श्रेणी का उपयोग करने में सक्षम होने पर निर्भर करता है, यह इंगित करने के लिए कि मूल्य नहीं मिला था और स्थान जिस पर सॉर्टिंग बनाए रखने के लिए ऐसा मान डाला जाना चाहिए।
  • जब किसी सरणी पर कार्य करना संभव होता है तो आप मौजूदा सूचकांक के नकारात्मक ऑफसेट लेना चाहते हैं। यदि आप ऑफसेट का इस्तेमाल करते हैं जो आपको यूनिट का उपयोग करते हुए सरणी की शुरुआत से पहले ले जाएगा तो व्यवहार के आस-पास लपेटने से आपका सूचकांक संभवतः कानूनी होगा (इसमें सकारात्मक है)। एक आंत के साथ परिणाम अवैध होगा (लेकिन सुरक्षित होने से रनटाइम अमान्य मेमोरी पढ़ने से रक्षा करेगा)

मुझे लगता है कि यह भी कम स्तर पर चीजों को सरल बनाने के साथ करना पड़ सकता है, क्योंकि सरणी। निश्चित रूप से किसी बिंदु पर एक नकारात्मक संख्या में जोड़ दिया जाएगा, यदि सरणी। लैंगलाइन अहस्ताक्षरित, और एक नकारात्मक int (दो पूरक) , गन्दा परिणाम हो सकता है

ऐसा लगता है कि कोई भी "अंतिम प्रश्न" का जवाब नहीं दिया।

मेरा मानना ​​है कि अहस्ताक्षरित इनट्स का प्राथमिक उपयोग बाहरी सिस्टम (पी / निमंत्रण और पसंद) के साथ आसान इंटरफेसिंग प्रदान करना है और विभिन्न भाषाओं की आवश्यकताओं को कवर करने के लिए है।

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

समय के लिए, आज की विशिष्ट स्मृति बाधाओं के साथ, यदि आपकी सरणी या समान डेटा संरचना को UInt32 लंबाई की आवश्यकता होती है, तो आपको अन्य डेटा संरचनाओं पर विचार करना चाहिए।

बाइट्स की एक सरणी के साथ, Int32 आपको मूल्यों के 2GB दे देंगे