در پروژه های asp.net ساخت اعداد تصادفی بسیار کاربرد دارد، بعنوان مثال برای ایجاد نام فایل ها و یا در زمان ایجاد کلمه عبور،
در پروژه های asp.net ایجاد عدد تصادفی با کمک کلاس Random و تابع Next انجام می گیرد که مثالی از آن را در ذیل آورده ام؛ حال آنکه مشکلی که جدیدا در کلاس Random یافته ام این است که اگر بصورت پی در پی و با سرعت بصورت مکرر از این کلاس استفاده نماییم ، امکان دریافت اعداد تصادفی یکسان وجود دارد.

راه حل چیست ؟ چگونه در پروژه های asp.net اعداد تصادفی غیر تکراری با سرعت بالا بسازیم ؟
ابتدا باید توجه نمایید که منظور بنده از سرعت بالا استفاده از این کلاس درون یک حلقه تکرار است و از آنجایی که طبق آزمایشات بنده این کلاس از تاریخ و ساعت و دقیقه و ثانیه و میلی ثانیه جهت ساخت اعداد تصادفی استفاده می نماید، در صورتی که در یک حلقه از این کلاس استفاده نمایید امکان این وجود دارد که در یک میلی ثانیه چندین بار از کلاس استفاده گردد که در اینصورت خروجی یکسانی دریافت خواهید کرد..

برای رفع مشکل ابجاد اعداد تصادفی یکسان کلاس Random  بهتر است (توجه کنید که از کلمه بهتر است استفاده نموده ام ، بدین معنی که ممکن است راه حل های دیگری هم باشد ولی بنده این روش رو تست و جواب گرفته ام) از ورودی کانستراکتور کلاس استفاده نماییم.

کلاس رندوم (Random) سی شارپ یک ورودی در کانستراکتور (سازنده کلاس) می گیرد که از طریق آن می توان تولید عدد تصادفی را کنترل نمود.

این ورودی seed یا بذر نام دارد که در صورتی که در هر بار استفاده از این کلاس یک مقدار منحصر به فرد از نوع int بدهیم ، خیالمان راحت است که خروجی های یکسان برایمان تولید نخواهد نمود.

مقالات آموزشی دانشجویی برنامه نویسی و الکترونیک و شبکه

به نظر می رسد که این بار مشکلمان 2 تا شده است ،  سوال اینجاست که عدد منحصر به فرد از نوع int از کجا بیاریم ؟
پاسخ ساده است ، کلاس GUID سی شارپ برای همین مواقع است

کلاس GUID در پروژه های asp.net بسیار کاربرد دارد، این کلاس برای ایجاد یک عبارت منحصر به فرد می باشد که نمونه خروجی آن بصورت F41FA048-9B13-4421-99BF-6EF725B358D8 می باشد

حال سوالی که پیش می آید این است که چگونه از این عبارت عجیب غریب یک عدد int بدست آوریم ؟
نگران نباشید در کد زیر مثال کامل را می توانید ببینید و در پروژه asp.net خود استفاده نمایید.

نوشته شده در تاریخ جمعه 3 مرداد 1393    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش سی شارپ،     | نظرات()