2011-01-21 6 views

उत्तर

7

BitArray कक्षा पर एक नज़र डालें।

byte[] myBytes = new byte[5] { 1, 2, 3, 4, 5 }; 
BitArray myBA3 = new BitArray(myBytes); 

Console.WriteLine("myBA3"); 
Console.WriteLine(" Count: {0}", myBA3.Count); 
Console.WriteLine(" Length: {0}", myBA3.Length); 
Console.WriteLine(" Values:"); 
PrintValues(myBA3, 8); 

public static void PrintValues(IEnumerable myList, int myWidth) 
{ 
    int i = myWidth; 
    foreach (Object obj in myList) 
    { 
     if (i <= 0) 
     { 
     i = myWidth; 
     Console.WriteLine(); 
     } 
     i--; 
     Console.Write("{0,8}", obj); 
    } 
    Console.WriteLine(); 
} 

इस कोड को निम्नलिखित उत्पादन का उत्पादन:

यहाँ एक उदाहरण बताता कि जब एक बाइट सरणी का उपयोग कर रहा है है।

myBA3 
    Count: 40 
    Length: 40 
    Values: 
    Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 
    True False False False False False False False 
    Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 ... and so on 
    False True False False False False False False 
    True True False False False False False False 
    False False True False False False False False 
    True False True False False False False False 
+0

हां, मैं इसे उपयोग करने की कोशिश की है, लेकिन ऐसा लगता है कि यह endianess या कुछ और ... – Anon

+0

@Anon पीछे है, कुछ अजीब सामान आंतरिक गुंबद लगता है - आप अपने मुद्दों BitArray वर्ग का उपयोग कर के साथ एक और प्रश्न पोस्ट कर सकते वर्तमान परीक्षण और अप्रत्याशित परिणाम सहित। – SwDevMan81

+0

@Anon: मुझे लगता है कि 'बिटअरे' आंतरिक रूप से 'int []' सरणी का उपयोग करता है, लेकिन मुझे यकीन नहीं है कि आप कैसे जानते होंगे, या देखभाल करते हैं, यह किस अंतहीनता का उपयोग करता है। निश्चित रूप से एक अर्थपूर्ण बिंदु से देखने के लिए यह सिर्फ 'बूल' की एक सरणी है। – LukeH

संबंधित मुद्दे