اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

۲۲ مطلب در فروردين ۱۳۹۲ ثبت شده است

  • ۱
  • ۰

بیان try-catch

بیان try-catch شامل یک بلوک try و یک یا بیش از یک جمله catch که بعد از آن بلوک می آید، مدیریت کننده هایی را برای خطاهای مختلف تعیین می کند. وقتی یک خطا پرتاب (throw) می شود (اتفاق می افتد/خودمان عمدا آن خطا را تولید می کنیم)، زبان عمومی زمان اجرا (CLR - Common Language Runtime) به دنبال بیان catch ی می گردد که آن خطا را مدیریت می کند می گردد. اگر متدی که فعلا" در حال اجرا است چنین بلوک catch ی نداشته باشد، CLR به متدی که این متد فعلی را فراخوانی کرده نگاه می کند و همینطور استک را به سمت بالا بازرسی می کند (تا به بلوک catch مربوطه برسد). اگر هیچ بلوک catch ی پیدا نشد، آنگاه CLR یک پیام خطای-مدیریت-نشده به کاربر نشان می دهد و روند اجرای برنامه را متوقف می کند.

بلوک try حاوی کد محافظت شده است ولی ممکن است خطا برایش اتفاق بیفتد. بلوک به اجرا ادامه می دهد زمانی که خطایی پرتاب شود یا بلوک با موفقیت کامل شود. برای مثال، تلاش زیر برای قالبریزی یک شیئ null ، خطای NullReferenceExeption را برپا می کند:

object o2 = null;
try
{
    int i2 = (int)o2;   // Error
}

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

کلمه کلیدی void

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

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

void SampleMethod();

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

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

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

Type : نوع

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

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

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

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

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

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


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

Statement : بیان

بیان ها دستورالعمل های برنامه هستند. بیان ها به ترتیب اجرا می شوند، مگر اینکه به روشی خاص ترتیب اجرای آنها را تغییر دهیم، به این معنی که از بیان های خاصی از جمله آنهایی که در جدول زیر می بینید، استفاده شود. جدول زیر کلیدواژه های بیانی #C را لیست کرده است. البته بیان هایی هم وجود دارند که دارای کلمه کلیدی نیستند که ان شاء الله بعدا" مطلبی جامع در مورد آنها در همین تاپیک قرار خواهم داد.


انواع بیان های سی شارپ
رده کلیدواژه #C
بیان انتخابی (selection statement) if , else , switch , case
بیان تکرار کننده (Iteration Statment) do, for, foreach, in, while
بیان پرشی break, continue, default, goto, return, yield
بیان استثناء گردانی throw, try-catch, try-finally, try-catch-finally
بیان بررسی شده و بررسی نشده checked, unchecked
بیان ثابت شده fixed
بیان قفل گذاری lock
  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلمه کلیدی switch

بیان switch یک بیان کنترلی است که بوسیله انتخاب های چندگانه و مجموعه های شمارشی (enumerations) ، با پاس دادن کنترل اجرای برنامه به یکی از بیان های case داخلی اش، روند اجرایی برنامه را کنترل می کند؛ مانند مثال زیر:

int caseSwitch = 1;
switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
}

کنترل اجرای برنامه به بیان case ی که با مقدار switch یکسان باشد، منتقل می شود. بیان switch می تواند حاوی هر تعداد از نمونه های case باشد، اما دو بیان case نمی توانند مقادیر یکسان داشته باشند.

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

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

  • نوع : byte
  • محدوده : 0 تا 255
  • اندازه : صحیح 8-بیتی بی علامت
  • نوع دات نتی: System.Byte


لیترال ها:

شما می توانید مانند مثال زیر یک متغیر byte را اعلان و مقداردهی اولیه کنید:

byte myByte = 255;

در اعلان قبل، لیترال 255 بصورت ضمنی از نوع int به نوع byte تبدیل می شود. اگر لیترال صحیح از محدوده byte تجاوز کند، یک خطای کامپایل اتفاق خواهد افتاد.

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

کلیدواژه break

بیان break ، نزدیکترین حلقه تکرار یا بیان switch را که در آن قرار گرفته را خاتمه می دهد. روند اجرایی برنامه از دستور های بعد از بیان خاتمه داده شده، ادامه داده می شود.


مثال

در این مثال، بیان شرطی در یک شمارنده قرار گرفته است که شمارش آن از 1 تا 100 در نظر گرفته شده؛ هرچند، بیان break حلقه تکرار را پس از 4 شمارش، خاتمه می دهد.

class BreakTest
{
    static void Main()
    {
        for (int i = 1; i <= 100; i++)
        {
            if (i == 5)
            {
                break;
            }
            Console.WriteLine(i);
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/* 
 Output:
    1
    2
    3
    4  
*/

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

کلمه کلیدی bool نام مستعاری برای System.Boolean می باشد که برای اعلان متغیرهایی برای ذخیره سازی مقادیر بولی true (درست) و false (غلط) استفاده می شود.

نکته:

اگر به متغیر بولی ای نیاز دارید که دارای مقدار null هم می باشد، از ?bool استفاده کنید.


لیترال ها:

شما می توانید یک مقدار بولی را به یک متغیر bool اختصاص دهید. همچنین می توانید یک عبارت را که نتیجه آن بصورت bool ارزیابی می شود را به متغیر bool اختصاص دهید.

public class BoolTest
{
    static void Main()
    {
        bool b = true;

        // WriteLine automatically converts the value of b to text.
        Console.WriteLine(b);

        int days = DateTime.Now.DayOfYear;


        // Assign the result of a boolean expression to b.
        b = (days % 2 == 0);

        // Branch depending on whether b is true or false.
        if (b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

false ، مقدار پیش فرض برای متغیرهای bool و ?bool است.

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

کلمه کلیدی long ، نوع داده ای صحیحی را مشخص می کند که مقادیر وابسته به اندازه و محدودیت نشان داده شده زیر را ذخیره می کند:

  • نوع: long
  • محدوده: از –9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807
  • اندازه: صحیح علامتدار 64 بیتی
  • نوع دات نتی: System.Int64

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

کلمه کلیدی base

کلمه کلیدی base برای دسترسی به اعضای کلاس پایه از داخل کلاس مشتق شده استفاده می شود:

  • فراخوانی یک متد از کلاس پایه، که توسط متدی دیگر بازنویسی (override) شده است.
  • تعیین اینکه وقتی نمونه هایی از کلاس مشتق شده،نمونه سازی می شوند، کدام سازنده مربوط به کلاس پایه (کلاس اولیه که کلاس های دیگر از آن مشتق شده اند) می بایستی فراخوانی شوند.

دسترسی به کلاس پایه، فقط از داخل سازنده، متد نمونه و یا پراپرتی دسترسی کننده ی(accessor) نمونه، مجاز است.
استفاده از کلمه کلیدی base از داخل متد static ، خطا محسوب می شود.
کلاس پایه ای که مورد دسترسی قرار می گیرد همان کلاسی است که در اعلان کلاس مشخص می شود. برای نمونه، اگر کلاسی بصورت

ClassB : ClassA

تعیین کنید، اعضای ClassA از طریق ClassB ، صرف نظر از کلاس پایه مربوط به ClassA ، قابل دسترسی هستند.

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