如何生成一个只包含0和1的数组,要求1的个数可以定义。在线等。

解决方案 »

  1.   

    BitArray ? whslovexyp能具体说说吗?谢谢你们的关注,我这个需要生成很长的一个数组。性能上?
      

  2.   

    BitArray不就是只包含0和1吗,只是你这个个数蛮烦人的
      

  3.   

    int[] a = new int[10];
                for (int k = 0; k < a.Length; k++) {
                    a[k] = 0;
                }
                BitArray bitArray = new BitArray(a);
                Console.WriteLine(bitArray.Length.ToString());
                int iOneCount = 0;
                Random random = new Random();
                for (int k = 0; k < 100; ) {
                    int iPos = random.Next() % bitArray.Length;
                    if (!bitArray[iPos]) {
                        bitArray[iPos] = true;
                        k++;
                    }
                }
               //测试,打印值
                StringBuilder sb = new StringBuilder();
                foreach (bool each in bitArray) {
                    if (each) sb.Append("1");
                    else sb.Append("0");
                }