SORU
13 Temmuz 2009, PAZARTESİ


Rastgele Dize Jeneratör Dönen Aynı Dize

Rastgele dize jeneratör geliştirdim ama umuyorum oldukça davranışlar değil. Amacım bu iki kere iki dört farklı karakter rasgele dizeleri oluşturmak mümkün olacak. Ancak, sadece dört karakter rasgele bir dize iki kez oluşturur.

İşte kod ve çıktısı örneği:

private string RandomString(int size)
{
    StringBuilder builder = new StringBuilder();
    Random random = new Random();
    char ch;
    for (int i = 0; i < size; i  )
    {
        ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble()   65)));                 
        builder.Append(ch);
    }

    return builder.ToString();
}

// get 1st random string 
string Rand1 = RandomString(4);

// get 2nd random string 
string Rand2 = RandomString(4);

// create full rand string
string docNum = Rand1   "-"   Rand2;

...ve bu çıkış bu gibi görünüyor UNTE-UNTE ...ama bu gibi görünmelidir UNTE-FWNU

Nasıl iki büyük ölçüde rasgele dizeleri temin edebilirim?

CEVAP
13 Temmuz 2009, PAZARTESİ


Bunu hızlı bir şekilde aradığında aynı değerlere döndürmek için neden olan bir yöntem, Rasgele bir örnek, yapıyoruz. Böyle bir şey yapardım:

private static Random random = new Random((int)DateTime.Now.Ticks);//thanks to McAden
private string RandomString(int size)
    {
        StringBuilder builder = new StringBuilder();
        char ch;
        for (int i = 0; i < size; i  )
        {
            ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble()   65)));                 
            builder.Append(ch);
        }

        return builder.ToString();
    }

// get 1st random string 
string Rand1 = RandomString(4);

// get 2nd random string 
string Rand2 = RandomString(4);

// creat full rand string
string docNum = Rand1   "-"   Rand2;

(Kod Sürümü değiştirilmiş)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • mliskIT

    mliskIT

    29 Mart 2012
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006