Beispiel #1
0
        public static BitArray FromString(string str)
        {
            str = str.Trim();
            if (str.StartsWithChar('{') && str.EndsWithChar('}'))
            {
                var ret = new BitArray(0);
                str = str.Substring(1, str.Length - 2);
                foreach (var index in str.Split(',').Select(n => n.Trim()).Select(n => int.Parse(n, NumberFormatInfo.InvariantInfo)))
                {
                    BitArrays.SetValue(ret, index, true);
                }
                return(ret);
            }
            else
            {
                var ret = new BitArray(str.Length);
                for (var i = 0; i < str.Length; i++)
                {
                    var c = str[i];
                    switch (c)
                    {
                    case '0':
                        ret[i] = false;
                        break;

                    case '1':
                        ret[i] = true;
                        break;

                    default:
                        throw new ArgumentException(nameof(FromString), nameof(str));
                    }
                }
                return(ret);
            }
        }
Beispiel #2
0
 public int GetHashCode(BitArray obj)
 {
     return(BitArrays.GetHashCode(obj));
 }