using System ;
using System .Collections ;namespace bitArray
{
 class BitArrays
 {
  protected static BitArray list= new BitArray (12);
  public static void PrintList(System.Collections .BitArray list)
  {
  IEnumerator enumerator= list.GetEnumerator ();
  while(enumerator.MoveNext () )
  {
  Console.WriteLine ((string)enumerator.Current );
  }
 
  }
  static void Main(string[] args)
  {
  for(int i=0;i<10;i++)
  {
  list.Set(i.ToString (),(i/2==0));
  }
  PrintList(list);
  Console.ReadLine ();
  }
 }
}上面的代码编译的结果显示异常提示:如下未处理的异常: System.InvalidCastException: 指定的转换无效。
   at bitArray.BitArrays.PrintList(BitArray list)
   at bitArray.BitArrays.Main(String[] args)这个是什么原因引起的?

解决方案 »

  1.   


    namespace bitArray
    {
        class BitArrays
        {
            protected static BitArray list = new BitArray(10);
            public static void PrintList(System.Collections.BitArray list)
            {
                IEnumerator enumerator = list.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    Console.WriteLine(enumerator.Current.ToString() );
                }        }
            static void Main(string[] args)
            {
                for (int i = 0; i < 10; i++)
                {
                    list.Set(i, (i / 2 == 0));
                }
                PrintList(list);
                Console.ReadLine();
            }
        }
      

  2.   

    两个错误...1.BitArray的值都是bool值...不能强制转换为string...2.Set方法的第一个参数是索引值...索引值是int...