コード例 #1
0
        public void Run()
        {
            MyRandom r = new MyRandom();

            num  = r.CRandom();
            num2 = r.CRandom();

            if (flag)
            {
                int a = 10;
                int b = 20;

                Console.WriteLine("--------------FindMax--------------");
                Console.WriteLine("Num1 is: {0}, Num2 is: {1} Max is: {2}", num, num2, GetMax(num, num2));

                Console.WriteLine("--------------Recursive--------------");
                tmp = r.CRandom(2, 6);
                Console.WriteLine("{0} 阶乘(5*4*3*2*1): {1}", tmp, Recursive(tmp));

                Console.WriteLine("--------------RecursiveZero--------------");
                tmp = r.CRandom(2, 5);
                Console.WriteLine("{0} Recursive: ", tmp);
                RecursiveZero(tmp);

                Console.WriteLine("--------------ValuesPass--------------");
                a = 10;
                b = 20;
                // Before: a is 10 and b is 20
                Console.WriteLine("Before: a is {0} and b is {1}", a, b);
                ValuesPass(a, b);
                // After: a is 10 and b is 20
                Console.WriteLine("After: a is {0} and b is {1}", a, b);

                Console.WriteLine("--------------RefPass--------------");
                a = 10;
                b = 20;
                // Before: a is 10 and b is 20
                Console.WriteLine("Before: a is {0} and b is {1}", a, b);
                RefPass(ref a, ref b);
                // After: a is 20 and b is 10
                Console.WriteLine("After: a is {0} and b is {1}", a, b);

                Console.WriteLine("--------------OutPass--------------");
                a = 10;
                // Before: a is 10
                Console.WriteLine("Before: a is {0}", a);
                OutPass(out a);
                // After: a is 99
                Console.WriteLine("After: a is {0}", a);

                Console.ReadKey();
            }
        }
コード例 #2
0
        /* 动态数组(ArrayList)	 代表了可被单独索引的对象的有序集合。*/
        public void MyArrayList(int len)
        {
            ArrayList al = new ArrayList();

            /* 属性 */
            // Capacity	获取或设置 ArrayList 可以包含的元素个数。
            // Count	获取 ArrayList 中实际包含的元素个数。
            // IsFixedSize	获取一个值,表示 ArrayList 是否具有固定大小。
            // IsReadOnly	获取一个值,表示 ArrayList 是否只读。
            // Item	获取或设置指定索引处的元素。

            /* 方法 */
            // Add( object value );  在 ArrayList 的末尾添加一个对象。
            Console.WriteLine("---Add---");
            for (int i = 0; i < len; i++)
            {
                al.Add(rd.CRandom(0, 100));
                Console.Write(al[i] + " ");
            }

            Console.WriteLine("\n---Capacity---" + al.Capacity); // 16
            Console.WriteLine("---Count---" + al.Count);         // 10

            // AddRange( ICollection c );  在 ArrayList 的末尾添加 ICollection 的元素。

            // Contains( object item );  判断某个元素是否在 ArrayList 中。
            Console.WriteLine("---Contains---");
            Console.WriteLine("50 {0} in al.", (al.Contains(50) ? "has" : "does not"));

            // GetRange( int index, int count );  返回一个 ArrayList,表示源 ArrayList 中元素的子集。

            // IndexOf(object); 返回某个值在 ArrayList 中第一次出现的索引,索引从零开始。

            // Insert( int index, object value );  在 ArrayList 的指定索引处,插入一个元素。

            // InsertRange( int index, ICollection c );  在 ArrayList 的指定索引处,插入某个集合的元素。

            // Remove( object obj );  从 ArrayList 中移除第一次出现的指定对象。

            // RemoveAt( int index );  移除 ArrayList 的指定索引处的元素。

            // RemoveRange( int index, int count ); 从 ArrayList 中移除某个范围的元素。

            // Reverse(); 逆转 ArrayList 中元素的顺序。
            Console.WriteLine("---Reverse---");
            al.Reverse();
            for (int i = 0; i < al.Count; i++)
            {
                Console.Write(al[i] + " ");
            }

            // SetRange( int index, ICollection c );  复制某个集合的元素到 ArrayList 中某个范围的元素上。

            // Sort(); 对 ArrayList 中的元素进行排序。
            Console.WriteLine("\n---Sort---");
            al.Sort();
            for (int i = 0; i < al.Count; i++)
            {
                Console.Write(al[i] + " ");
            }

            // TrimToSize(); 设置容量为 ArrayList 中元素的实际个数。

            // Clear(); 从 ArrayList 中移除所有的元素。
            Console.WriteLine("\n---Clear---");
            al.Clear();
            for (int i = 0; i < al.Count; i++)
            {
                Console.Write(al[i] + " ");
            }
        }