اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۳ بهمن ۰۱، ۱۵:۳۱ - حسنا سادات و سما سادات
    عالی

۴ مطلب با کلمه‌ی کلیدی «Pointer types» ثبت شده است

  • ۲
  • ۰

کلیدواژه volatile

کلمه کلیدی volatile (فرّار) نشان می دهد که یک فیلد می تواند توسط چندین ریسمان (thread) که همزمان درحال اجرا هستند، دستکاری شود. فیلدهایی که بصورت volatile اعلان شده اند، مورد بهینه سازی های کامپایلری ای که فرضشان دسترسی تک ریسمانی است قرار نمی گیرند. این کار تضمین می کند که مقدار فیلد در همه زمان ها به روز ترین مقدار است.

اصلاحگر volatile معمولا" برای فیلدی که بدون بیان lock توسط چندین ریسمان مورد دسترسی قرار می گیرد، استفاده می شود.

کلمه کلیدی volatile را می توان رو فیلدهایی از نوع های زیر اعمال کرد:

  • نوع های مرجع.
  • نوع های اشاره گر (در یک زمینه نا امن (unsafe contenxt)). توجه کنید که با اینکه اشاره گر خودش می تواند volatile باشد، شیئی که اشاره گر به آن اشاره می کند نمی تواند volatile باشد. به بیانی دیگر، شما نمی توانید "اشاره گر به volatile" اعلان کنید.
  • نوع هایی مثل sbyte، byte، short، ushort، int، uint، char، float و bool.
  • نوع شمارشی ای که نوع پایه آن یکی از نوع های byte، sbyte، short، ushort، int یا uint باشد.
  • پارامتر نوع جنریکی که بصورت نوع مرجع شناخته شده باشد.
  • IntPtr و UIntPtr .

  • غلامعلی حسینی بهجانی
  • ۲
  • ۰

کلمه کلیدی unsafe

کلمه کلیدی unsafe یک زمینه (context) ناامن تعریف می کند که برای هر عملی که با اشاره گرها در ارتباط باشد، لازم است.

شما می توانید از اصلاحگر unsafe در اعلان یک نوع یا یک عضو استفاده کنید. حوزه همان نوع و یا عضوی که دارای اصلاحگر unsafe باشد به عنوان زمینه ناامن در نظر گرفته می شود. در مثال زیر متدی را با اصلاحگر unsafe اعلان کرده ایم:

unsafe static void FastCopy(byte[] src, byte[] dst, int count)
{
    // Unsafe context: can use pointers here.
}

حوزه (scope) زمینه ناامن از لیست پارامترها شروع شده و تا آخر حوزه متد ادامه دارد، بنابراین از اشاره گرها می توان در لیست پارامترها نیز استفاده کرد:

unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}

شما می توانید از بلوک unsafe برای فعالسازی استفاده از کد ناامن در بلوک مربوطه استفاده کنید. برای مثال:

unsafe
{
    // Unsafe context: can use pointers here.
}

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلمه کلیدی void

کلمه کلیدی void وقتی به عنوان نوع خروجی یک متد استفاده می شود، نشان می دهد که آن متد هیچ مقداری را برگشت نمی دهد.

کلیدواژه void در لیست پارامتر های متد، مجاز نیست. متدی که هیچ پارامتری ندارد و هیچ مقداری را برگشت نمی دهد بصورت زیر اعلان می شود:

void SampleMethod();

void همچنین در یک زمینه نا امن (unsafe context - محیطی که سیستم مدیریت حافظه در آن دخالت نمی کند) برای اعلان یک اشاره گر به یک نوع نامشخص، استفاده می شود.

کلمه کلیدی void نام مستعاری برای نوع دات نتی System.Void می باشد.

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

Type : نوع

سیستم تایپ (نوع) سی شارپ شامل مقوله های زیر است:

  • نوع های مقداری
  • نوع های مرجع
  • نوع های اشاره گر

متغیرهایی که از نوع مقداری هستند، داده ها را ذخیره می کنند؛ و آنهایی که از نوع مرجع هستند، ارجاع های به داده های واقعی را ذخیره می کنند. نوع های مرجع، همچنین با نام شیئ (object) شناخته می شوند. نوع های اشاره گر فقط در شیوه برنامه نویسی نا امن (unsafe) قابل استفاده هستند.

با استفاده از boxing و unboxing، این امکان وجود دارد که یک نوع مقداری را به نوع مرجع تبدیل کنیم و دوباره آنرا به نوع مقداری برگردانیم. شما نمی توانید یک نوع مرجع را به نوع مقداری تبدیل کنید، مگر آنکه آن نوع مرجع از روش باکسینگ به نوع مرجع تبدیل شده باشد.

در مورد void (تهی) می توانید در تاپیک "کلمه کلیدی void" مطالبی را بیاموزید.

نوع های مقداری نیز nullable هستند، به این معنی که آنها می توانند یک وضعیت غیر-مقداری را در خود ذخیره کنند.


  • غلامعلی حسینی بهجانی