किसी एक को आप सरणी परिवर्तित करने के लिए Select
और ToArray
तरीकों का उपयोग कर सकते हैं:
oneArray = anotherArray.Select(n => {
// the conversion of one item from one type to another goes here
}).ToArray();
बाइट के लिए डबल से बदलने के लिए:
byteArray = doubleArray.Select(n => {
return Convert.ToByte(n);
}).ToArray();
आप दोगुना करने के लिए बाइट से परिवर्तित करने के लिए बस रूपांतरण भाग बदलें:
doubleArray = byteArray.Select(n => {
return Convert.ToDouble(n);
}).ToArray();
आप एक मल्टी-बाइट प्रतिनिधित्व करने के लिए प्रत्येक डबल परिवर्तित करना चाहते हैं, तो आप SelectMany
विधि और BitConverter
वर्ग का उपयोग कर सकते हैं। चूंकि प्रत्येक डबल के बाइट्स की एक सरणी होगी, SelectMany
विधि उन्हें एक ही परिणाम में फ़्लैट कर देगी।
byteArray = doubleArray.SelectMany(n => {
return BitConverter.GetBytes(n);
}).ToArray();
युगल वापस करने के लिए बदलने के लिए, आप एक समय में बाइट्स आठ पाश करने की आवश्यकता होगी:
doubleArray = Enumerable.Range(0, byteArray.Length/8).Select(i => {
return BitConverter.ToDouble(byteArray, i * 8);
}).ToArray();
आप मूल्य (यानी के रूपांतरण करना चाहते हैं। '10.0' -> 10) या अंतर्निहित मशीन प्रतिनिधित्व के आठ बाइट्स (उदाहरण के लिए क्रमबद्धता के लिए)? – Richard
हम किस प्रकार के रूपांतरण के बारे में बात कर रहे हैं? बाइट वैल्यू प्राप्त करने के लिए आप इसे दोहरी और "कास्ट" करने के लिए एक अभिन्न प्रकार पर ले जाना चाहते हैं? या आप दोहरे मूल्यों में से प्रत्येक का बाइट प्रतिनिधित्व प्राप्त करना चाहते हैं? आपको _clarify_ की आवश्यकता है। –
इरादा BinaryWriter.Write() फ़ंक्शन का उपयोग करना है। लेकिन यह केवल बाइट स्वीकार करता है। मैं प्रत्येक डबल मानों का बाइट प्रतिनिधित्व प्राप्त करना चाहता हूं? – Raghaav