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
}
}