PDA

View Full Version : سوال: چه طوری یک کد تصادفی رو تولید کنم ؟



NasimBamdad
سه شنبه 27 اسفند 1392, 12:10 عصر
سلام و خسته نباشید

خیلی وقته که دنبال این سوال می گردم ولی کسی جوابی نمیده . و تاپیک رو زحمت می کشند و قفل می کنند

سایت رو گشتم ولی چیزی که جوابگوی من باشه پیدا نکردم


نیاز مبرم به دارم که یک کدی رو که مثلا 8 کاراکتر باشه و ترکیبی از اعداد و حروف باشه رو تولید کنم

به نظر شما چه طور این کار رو انجام بدم به صورتی که کد های تکراری تولید نشه ؟!

hadi0x7c7
سه شنبه 27 اسفند 1392, 12:49 عصر
من این به ذهنم رسید، آیا منظور شما این بود؟؟؟؟؟(اینو یکی پاک کنه:D)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Random rand = new Random();
HashSet<string> mySet = new HashSet<string>();
StringBuilder build = new StringBuilder();

for (int i = 0; i < 10; i++)
{
build.Clear();
for (int j = 0; j < 8; j++)
{
char[] c = new char[3];

c[0] = (char)rand.Next('A', 'Z');
c[1] = (char)rand.Next('a', 'z');
c[2] = (char)rand.Next('0', '9');
int cand = rand.Next(3);
build.Append(c[cand]);
}
mySet.Add(build.ToString());
}

foreach (string s in mySet.ToList())
{
Console.WriteLine(s);
}
}
}
}

hadi0x7c7
سه شنبه 27 اسفند 1392, 12:51 عصر
من این به ذهنم رسید، آیا منظور شما این بود؟؟؟؟؟ واسه این که تکراری نداشته باشیم اونا رو توی یک مجموعه میریزیم که تکراری ها رو حذف کنه،(تست کردم تکراری نداره)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Random rand = new Random();
HashSet<string> mySet = new HashSet<string>();
StringBuilder build = new StringBuilder();

for (int i = 0; i < 10; i++)
{
build.Clear();
for (int j = 0; j < 8; j++)
{
char[] c = new char[3];

c[0] = (char)rand.Next('A', 'Z');
c[1] = (char)rand.Next('a', 'z');
c[2] = (char)rand.Next('0', '9');
int cand = rand.Next(3);
build.Append(c[cand]);
}
mySet.Add(build.ToString());
}

foreach (string s in mySet.ToList())
{
Console.WriteLine(s);
}
}
}
}