اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

۷۴ مطلب در ارديبهشت ۱۳۹۲ ثبت شده است

  • ۲
  • ۰

رهنمون using

رهنمون using دو کاربرد دارد:

  • اجازه می دهد تا از نوع هایی که در فضای نام های دیگری تعریف شده اند به گونه ای استفاده کنیم که نیاز به نوشتن نام کامل آنها نباشد:
    using System.Text;
  • برای ساختن یک نام مستعار برای یک فضای نام یا یک نوع؛ که به آن "using رهنمون نام مستعار" می گویند.
    using Project = PC.MyCompany.Project;

کلمه کلیدی using همچنین برای ساختن "بیان using" استفاده می شود که کمک می کند مطمئن شویم اشیاء IDisposable مانند فایل ها و فونت ها بدرستی مدیریت می شوند. برای اطلاعات بیشتر بیان using را ببینید.

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

کلمه کلیدی using

کلمه کلیدی using دو کاربرد عمده دارد:

  • به عنوان رهنمون (directive) وقتی که از آن برای ساختن یک نام مستعار برای یک فضای نام (namespace) استفاده می شود. یا برای وارد کردن نوع های تعریف شده در یک فضای نام دیگر به داخل فضای نام فعلی. رهنمون using را ببینید.
  • بصورت بیان، وقتی که این کلمه کلیدی یک حوزه (scope) را در آخر زمانی که یک شیئ می خواهد از بین برود، تعریف می کند. بیان using را ببینید.

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

کلیدواژه ushort

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

  • نوع: ushort
  • محدوده: 0 تا 65,535
  • اندازه: صحیح بدون علامت 16-بیتی
  • نوع دات نتی: System.UInt16

لیترال ها

شما می توانید یک متغیر ushort را بصورت زیر اعلان و مقداردهی اولیه کنید:

ushort myShort = 65535;

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

در هنگام فراخوانی متدهای overload شده باید از عملگر قالبریز (cast) استفاده کرد. برای مثال متدهای overload شده زیر را که دارای پارامترهای ushort و int هستند را در نظر بگیرید:

public static void SampleMethod(int i) {}
public static void SampleMethod(ushort s) {}

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

کلمه کلیدی 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.
}

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

کلیدواژه unchecked

کلمه کلیدی unchecked برای متوقف کردن عملیات بررسی سر ریز (overflow) در عملیات محاسباتی و تبدیلات نوع صحیح استفاده می شود.

در یک زمینه بررسی نشده (unchecked context) ، اگر یک عبارت مقداری خارج از محدوده نوع مقصد تولید کند، سرریز گزارش داده نمی شود. برای مثال، به این دلیل که در مثال زیر عملیات محاسباتی در بلوک یا عبارت unchecked قرار گرفته ، از این حقیقت که نتیجه محاسبه بزرگتر از حد عدد صحیح است ، چشم پوشی می شود، و به متغیر int1 مقدار  2,147,483,639- انتساب داده می شود.

unchecked
{
    int1 = 2147483647 + 10;
}
int1 = unchecked(ConstantMax + 10);

اگر محیط unchecked حذف شود، یک خطای کامپایل رخ می دهد. سرریز (overflow) می تواند در زمان کامپایل تشخیص داده شود، زیرا تمام قسمت های عبارت بصورت ثابت (Constant) هستند.

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

کلمه کلیدی ulong

کلمه کلیدی ulong نشاندهنده یک نوع صحیح است که مقادیر را طبق شرایط زیر ذخیره می کند.

  • نوع: ulong
  • محدوده: 0 تا 18,446,744,073,709,551,615
  • اندازه: صحیح بی علامت 64-بیتی
  • نوع دات نتی: System.UInt64

لیترال

شما می توانید متغیرهای ulong را بصورت زیر اعلان و مقداردهی اولیه کنید.

ulong uLong = 9223372036854775808;

وقتی یک لیترال عددی صحیح دارای هیچ پسوندی نباشد، نوع آن یکی از نوع هایی است که مقدار آن لیترال توانایی قرار گرفتن در آن را داشته باشد: int ، uint ، long ، ulong در مثال بالا، این نوع ulong است.

شما همچنین می توانید برطبق قوانین زیر برای تعیین نوع لیترال از از پسوندها استفاده کنید:

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

نوع داده ای uint

کلمه کلیدی uint نشاندهنده یک نوع صحیح است که مقادیر را طبق شرایط زیر ذخیره می کند.

  • نوع: uint
  • محدوده: 0 تا 4,294,967,295
  • اندازه: صحیح علامت دار 32-بیتی
  • نوع دات نتی: System.UInt32

نکته

نوع uint با مشخصات زبان مشترک (CLS) سازگار نیست. تاجایی که امکان دارد از نوع int استفاده کنید. (یعنی ممکن است برنامه شما درصورت استفاده از نوع uint در پلتفرم های دیگری که از CLS پشتیبانی می کنند با مشکل مواجه شود)

لیترال ها

شما می توانید متغیرهای uint را بصورت زیر اعلان و مقداردهی اولیه کنید.

uint myUint = 4294967290;

وقتی یک لیترال عددی صحیح دارای هیچ پسوندی نباشد، نوع آن یکی از نوع هایی است که مقدار آن لیترال توانایی قرار گرفتن در آن را داشته باشد: int ، uint ، long ، ulong در این مثال، این نوع uint است:

uint uInt1 = 123;

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

کلیدواژه typeof

برای بدست آوردن شیئ System.Type مربوط به یک نوع کاربرد دارد. یک عبارت typeof به شکل زیر است:

System.Type type = typeof(int);

ملاحظات

برای بدست آوردن نوع زمان-اجرای یک عبارت ، می توانید از متد دات نتی GetType بصورت زیر استفاده کنید:

int i = 0;
System.Type type = i.GetType();

عملگر typeof را نمی توان overload کرد.

عملگر typeof همچنین می تواند در نوع های جنریک باز مورد استفاده قرار گیرد. نوع هایی که دارای بیش از یک پارامتر نوع هستند، باید تعداد متناسبی وریگول (کاما) در خصوصیتشان باشند. مثال زیر چگونگی تعیین اینکه آیا نوع خروجی یک متد از نوع جنریک IEnumerable است یا نه را نشان می دهد. فرض کنید این متد نمونه ای از یک نوع MethodInfo باشد:

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

وقتی ما بچه بودیم :(

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