08
20

Random 클래스

C#에서 랜덤 값을 만들려면 Random 클래스를 사용한다. 클래스는 참조형이므로 다음과 같이 new 키워드를 사용하여 객체를 생성한다.

Random r = new Random(); // Random 객체 r 생성

 

Next() 메서드는 다음과 같이 파라미터의 개수에 따라 세 가지로 중복되어 있다.

int x = r.Next(); // 0~2,147,483,647 사이의 값 리턴
int y = r.Next(100); // 0~99 사이의 값 리턴
int z = r.Next(1,7); // 1~6 사이의 값 리턴(예: 주사위 숫자)
double d = r.NextDouble(); // 0.0 이상 1.0 미만의 실수를 리턴

 

ex)

using System;

class Program
{
    static void Main(string[] args)
    {
        Random r = new Random();
        Console.Write("{0,-16}", "Random Bytes");
        Byte[] b = new byte[5];
        r.NextBytes(b);

        foreach (var temp in b)
        {
            Console.Write("{0,12}", temp);
        }
        Console.WriteLine();

        Console.Write("{0,-16}", "Random Double");
        double[] d = new double[5];

        for (int i = 0; i < 5; i++)
        {
            d[i] = r.NextDouble();
        }

        foreach (var temp in d)
        {
            Console.Write("{0,12:F8}", temp);
        }
        Console.WriteLine();

        Console.Write("{0,-16}", "Random Int32");
        int[] a = new int[5];

        for (int i = 0; i < 5; i++)
        {
            a[i] = r.Next();
        }
        PrintArray(a);

        Console.Write("{0,-16}", "Random 0~99");
        int[] v = new int[5];

        for (int i = 0; i < 5; i++)
        {
            v[i] = r.Next(100);
        }
        PrintArray(v);
    }

    private static void PrintArray(int[] v)
    {
        foreach (var temp in v)
        {
            Console.Write("{0,12}", temp);
        }
        Console.WriteLine();
    }
}

 

예제 실행 화면

'스마트팩토리 > C#' 카테고리의 다른 글

32. List<T> 컬렉션  (0) 2020.08.21
31. 숫자야구 만들기  (0) 2020.08.20
29. 익명타입(Anonymous Type)  (0) 2020.08.19
28. 제네릭  (0) 2020.08.18
27. 네트워크 통신  (0) 2020.07.29
COMMENT