C#에서 간단히 랜덤값을 얻는 함수는 System.Random 클래스 이다.

이 클래스를 이용해서, Random한 값을 출력하는 문자열을 리턴하는 함수를 만들때 유의 할 점이 있다.

해당 함수에서 매번 Random 클래스를 인스턴스화 시켜서 사용하면, 같은 값을 리턴하게 된다.

// 랜덤 문자열 만드는 함수
public static string GetRandomCharacter(int length)
{
    Random random = new Random();
    
    StringBuilder sb = new StringBuilder();
    int value = 0;
    for (int i = 0; i < length; i++)
    {
do 
{
   value = random.Next(48, 90);
} while(value > 57 && value < 65);

sb.Append(Convert.ToChar(value));
    }

    return sb.ToString();
}
// 함수 호출
for (int i = 0; i < 20; i++)
{
    Response.Write(GetRandomCharacter(32)+"<br/>");
}

이러한 결과가 나온다.

// 랜덤 문자열 만드는 함수
public static string GetRandomCharacter(Random random, int length)
{          
    StringBuilder sb = new StringBuilder();
    int value = 0;
    for (int i = 0; i < length; i++)
    {
do 
{
    value = random.Next(48, 90);
} while(value > 57 && value < 65);

sb.Append(Convert.ToChar(value));
    }

    return sb.ToString();
}
// 함수 호출
Random random = new Random();
for (int i = 0; i < 20; i++)
{
    Response.Write(GetRandomCharacter(random, 32)+"<br/>");
}
이전의 코드와 달리 함수를 호출 하는 부분에서 Random 함수를 인스턴스화 시켜서 랜덤한 문자열을 출력하는 함수(GetRandomCharacter)함수를 호출한다.
이런식으로 어느정도는 랜덤한 값이 나온다.
저작자 표시 비영리 변경 금지