Bitmasking for C#

Referring to the scripts that handles the bitmasking for the dnsbl.tornevall.org-scripts, this is how to make the same routine in C-Sharp. Based on the Hashtable-namespace to get it as similar as possible.

Kod:
public Hashtable BitMask(int MaskVal, params  int[] bitcheck)
              {
                 Hashtable ReturnThis = new Hashtable();
                 Hashtable Arr = new Hashtable();
                 int loadbits = 8;
                 try { loadbits = bitcheck[0]; } catch (Exception)  { }
  
                 /*
                   * PHP SOURCE
                   * 
                   *   function bitmask ($bit = '', $loadbits = 8)
 *    {
                   *       for ($i = 0 ; $i < $loadbits ; ++$i) {$arr[] = pow(2,$i); }     //  Automatisera bitvärden
                   *       for ($i = 0 ; $i < count($arr) ; ++$i) {$mask[$i] = ($bit &  $arr[$i]) ? '1' : '0';}     // Sätt 1 till de bitvärden som är  påslagna
                   *       return $mask;
                   *   }
                   */
  
                 for (int i = 0 ; i  < loadbits ; ++i) {Arr.Add(i.ToString(), Math.Pow(2, i).ToString());}     // Automatisera bitvärden
 for (int i = 0; i < Arr.Count; ++i)  {ReturnThis.Add(i.ToString(), Convert.ToInt32(Convert.ToBoolean(MaskVal & Convert.ToInt32(Arr[i.ToString()].ToString()))).ToString());}
 return  ReturnThis;
              }

Om Tornevall

Fotograf, musiker, filmare. Estetikens alla nyanser i ett, kombinerat med humor och ett förflutet inom vård- nöjes- och programmeringsbranscher.
Det här inlägget postades i IT/Development. Bokmärk permalänken.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.