تولید یک رشتهی رندوم (تصادفی)، کاربردهای زیادی دارد؛ از جمله زمانی که بخواهیم برای کاربر، یک رمز عبور تصادفی ایجاد کنیم. حالا در اینجا، قطعه کدی آماده کردیم تا به وسیلهی آن بتوان با مشخص کردن حروف دلخواه خود، یک رشتهی تصادفی در هر اندازهی مورد نیازی را تولید کرد.
قطعه کد
متد زیر با دریافت حروف و طول رشته تصادفی، آن را تولید میکند:
public string RandomString(string chars, int length) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < length; i++) { Random random = new Random(Guid.NewGuid().GetHashCode()); char randomChar = chars[random.Next(0, chars.Length)]; sb.Append(randomChar); } return sb.ToString(); }
ورودیها:
- chars: حروف یا کاراکترهایی که میخواهیم از بین آنها رشتهی تصادفی انتخاب شود.
- length: طول رشتهی تصادفی
خروجی: رشتهی تصادفی تولید شده
مثال
کد زیر، یک رشته تصادفی با طول 2 و یک رشته تصادفی با طول ده، از میان حروف انگلیسی کوچک تولید میکند:
string r1 = RandomString("abcdefghigklmnoprstuxwyz", 2); string r2 = RandomString("abcdefghigklmnoprstuxwyz", 10); Console.WriteLine("r1 = " + r1); Console.WriteLine("r2 = " + r2);
خروجیها میتوانند متفاوت باشند.
سلام. با تشکر از این پست پرکاربرد.
من می خوام که یک رشته تعریف کنم که حروف تکراری نداشته باشد. مثلا اگر کاربر کلمه ی سلام را ورد کرد برنامه بتواند با حروف وراد شده کلمات دیگر بسازد بدون حرف تکراری.
خوش حال می شم اگه منو در این مورد راهنمایی نمایید.
با تشکر فراوان.
سلام؛ باید اول رشتهی ورودی رو داخل یک لیست بریزین با این شرط که هربار هر حرف رو بررسی میکنین داخل لیست هس یا نه بعد اضافه کنین و بعد، از اون لیست حرف رو به صورت رندوم بگیرین و اون خونه رو پاک کنین تا دفعه بعد گرفته نشه
اگه نمیتونین بنویسین خبر بدین تا پستی در این مورد منتشر کنیم