c#基础之集合

using System;
using System.Collections;
using System.Collections.Generic;


namespace ConsoleApplication2
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            var li = new ArrayList();
            var r = new Random();
            while (li.Count < 4)
            {
                var next = r.Next(0, 10);
                if (!li.Contains(next))
                {
                    li.Add(next);
                }
            }
            foreach (var e in li)
            {
                JPrint(e);
            }
        }


        #region 工具方法

        /// <summary>
        /// 找出子字符串在字符串中的所有索引,"ccc"在"ccccc"中认为只有一个
        /// </summary>
        /// <param name="str"></param>
        /// <param name="subStr"></param>
        /// <returns></returns>
        private static List<int> AllIndexOf(string str, string subStr)
        {
            List<int> li = new List<int>();
            var i = 0;
            i = str.IndexOf(subStr, StringComparison.Ordinal);
            while (i != -1)
            {
                li.Add(i);
                i = str.IndexOf(subStr, i + subStr.Length, StringComparison.Ordinal);
            }
            return li;
        }

        /// <summary>
        /// 选择排序
        /// </summary>
        /// <param name="arr"></param>
        private static void Sort(int[] arr)
        {
            for (int i = 0; i < arr.Length - 1; i++)
            {
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (arr[i] > arr[j])
                    {
                        Swap(ref arr[i], ref arr[j]);
                    }
                }
            }
        }

        /// <summary>
        /// 冒泡排序
        /// </summary>
        /// <param name="arr"></param>
        private static void BubbleSort(int[] arr)
        {
            for (int i = 0; i < arr.Length - 1; i++)
            {
                for (int j = 0; j < arr.Length - 1 - i; j++)
                {
                    if (arr[j] > arr[j + 1])
                    {
                        Swap(ref arr[j], ref arr[j + 1]);
                    }
                }
            }
        }

        /// <summary>
        ///交换两个值
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <typeparam name="T"></typeparam>
        private static void Swap<T>(ref T a, ref T b)
        {
            T t = a;
            a = b;
            b = t;
        }

        private static void Print<T>(T[] arr)
        {
            string str = typeof(T) + "[";
            if (arr.Length != 0)
            {
                for (var i = 0; i < arr.Length - 1; i++)
                {
                    str += arr[i] + ", ";
                }
                str += arr[arr.Length - 1];
            }

            str += "]";
            Print(str);
        }

        private static void JPrint<T>(T[] arr)
        {
            string str = typeof(T) + "[";
            if (arr.Length != 0)
            {
                for (var i = 0; i < arr.Length - 1; i++)
                {
                    str += arr[i] + ", ";
                }
                str += arr[arr.Length - 1];
            }

            str += "]";
            Print(str);
        }


        public static void Print(string obj, params object[] arg)
        {
            Console.WriteLine(obj, arg);
        }

        public static void JPrint(string obj, params object[] arg)
        {
            Console.WriteLine(obj, arg);
        }

        public static void Print(object obj)
        {
            Console.WriteLine(obj);
        }

        public static void JPrint(object obj)
        {
            Console.WriteLine(obj);
        }

        /// <summary>
        /// 获得一个int类型的值
        /// </summary>
        /// <returns></returns>
        public static int GetInt()
        {
            int i;
            while (true)
            {
                try
                {
                    i = Convert.ToInt32(Console.ReadLine());
                    break;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return i;
        }

        public static int GetInt2(string str)
        {
            while (true)
            {
                try
                {
                    var i = Convert.ToInt32(str);
                    return i;
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                    str = Console.ReadLine();
                }
            }
        }

        public static string GetString()
        {
            return Console.ReadLine();
        }

        public static double GetDouble()
        {
            double i;
            while (true)
            {
                try
                {
                    i = Convert.ToDouble(Console.ReadLine());
                    break;
                }
//            catch
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return i;
        }

        #endregion
    }
}
原文地址:https://www.cnblogs.com/zhaoxianglong1987/p/7614512.html