اثر پروانه ای

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

مشخصات بلاگ
اثر پروانه ای

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

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

آخرین نظرات
  • ۱۱ بهمن ۹۵، ۱۷:۱۸ - فاروق کریمی زاده
    خوب بود.
اثر پروانه ای

۴ مطلب با موضوع «برنامه نویسی :: #C :: عملگر» ثبت شده است

برای overload کردن یک عملگر توکار (built-in) یا ارائه یک تبدیل کاربر-تعریف (عملگر قالب ریز/cast) در اعلان یک کلاس یا ساختار از کلمه کلیدی operator استفاده کنید.

مثال

در زیر یک کلاس بسیار ساده شده برای اعداد کسری آمده است. این کلاس عملگرهای + و * برای جمع و ضرب اعداد کسری overload (بازنویسی/بارگزاری مجدد)می کند، همچنین یک عملگر تبدیل که نوع کسری را به نوع double تبدیل می کند را ارائه می دهد.

برای ساختن شیئ ها و احضار متدهای سازنده مورد استفاده قرار می گیرد. برای مثال:

Class1 obj  = new Class1();

همچنین برای ساختن نمونه هایی از نوع های بی نام ، کاربرد دارد:

var query = from cust in customers
            select new {Name = cust.Name, Address = cust.PrimaryAddress};

عملگر new همچنین برای احضار (invoke) کردن متد سازنده پیش فرض نوع های مقداری مورد استفاده دارد. مثلا":

int i = new int();

در بیان قبل، i با صفر مقداردهی اولیه می شود، که مقدار پیش فرض برای نوع int می باشد. تاثیر این بیان مشابه بیان زیر است:

int i = 0;

به خاطر داشته باشید که اعلان یک متد سازنده پیش فرض برای یک struct (ساختار) یک خطا محسوب می شود، زیرا همه نوع های مقداری بصورت پیش فرض دارای یک متد سازنده public (عمومی) هستند. برای تنظیم مقدار اولیه نوع struct ، امکان اعلان متدهای سازنده دارای پارامتر بر روی نوع struct وجود دارد، اما این کار فقط زمانی انجام می شود که مقداری به غیر از مقدار پیش فرض مورد نیاز باشد.

عملگر as برای انجام انواع خاصی از تبدیلات بین نوع های مرجع سازگار استفاده می شود. برای مثال:

class csrefKeywordsOperators
{
    class Base
    {
        public override string  ToString()
        {
              return "Base";
        }
    }
    class Derived : Base 
    { }

    class Program
    {
        static void Main()
        {
            Derived d = new Derived();

            Base b = d as Base;
            if (b != null)
            {
                Console.WriteLine(b.ToString());
            }
        }
    }
}


ملاحظات:

چک می کند که آیا یک شئ با یک نوع داده شده سازگار است یا نه. برای مثال، کد زیر می تواند تعیین کند که آیا یک شئ، یک نمونه از نوع MyObject است، یا یک نوع است که از MyObject مشتق شده:

if (obj is MyObject)
{
}

  • یک عبارت is اگر عبارت تعیین شده برایش غیر-تهی باشد، و شئ تعیین شده بتواند به نوع تعیین شده، بدون اتفاق افتادن هرگونه خطا،قالب ریزی شود، بصورت true ارزیابی می شود.
  • کلمه کلیدی is باعث هشدار زمان-کامپایل می شود، اگر عبارت داده شده به آن همیشه بصورت true یا همیشه بصورت false ارزیابی شود، اما معمولا" سازگاری نوع در هنگام اجرا ارزیابی می شود.
  • عملگر is نمی تواند overload یا بازتعریف شود.