اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

نوع string یک سری از کاراکترهای یونیکد شامل صفر یا بیش از صفر کاراکتر را نشان می دهد. string نام مستعاری برای نوع دات نتی String می باشد.

با اینکه string یک نوع مرجع است، عملگرهای تساوی (== و =!) برای مقایسه مقادیر اشیاء رشته ای (string) تعریف شده اند نه ارجاع ها. این کار آزمایش برابری رشته ها را قابل فهم تر می کند. برای مثال:

string a = "hello";
string b = "h";
// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);

مثال قبل True را نمایش داده سپس False به نمایش در می آید، زیرا محتویات رشته ها با هم برابرند، اما a و b به نمونه رشته یکسانی اشاره نمی کنند.

عملگر + رشته ها را به هم الحاق می کند:

string a = "good " + "morning";

تکه کد بالا یک شیئ رشته ای که حاوی "good morning" است می سازد.

رشته ها تغییرناپذیرند (immutable). یعنی محتویات شیئ رشته ای بعد از اینکه شیئ ساخته شد قابل تغییر نیست، هرچند نحو (syntax) سی شارپ کاری می کند که به نظر می رسد چنین کاری شدنی است. برای مثال، وقتی شما این کد را می نویسید، در واقع کامپایلر یک رشته جدید برای نگهداری دنباله کاراکترها می سازد و شیئ جدید به b انتساب داده می شود. سپس رشته "h" واجد شرایط زباله روبی (GC) می شود.

string b = "h";
b += "ello";

عملگر [] را می توان برای دسترسی فقط خواندنی به کاراکترهای مجزای یک رشته بکار برد:

string str = "test";
char x = str[2];  // x = 's';

لیترال های رشته ای از نوع string هستند و می توانند به دو شکل quoted  و quoted-@ نوشته شوند. لیترال های رشته ای quoted در بین علامت های نقل قول دوتایی (") قرار می گیرند:

"good morning"  // a string literal

لیترال های رشته ای می توانند حاوی هر لیترال کاراکتری از جمله دنباله های فرار (Escape sequence) باشند. مثال زیر از دنباله فرار \\ برای علامت بک اسلش ، از u0066\ برای حرف f و از n\ برای سطر جدید استفاده می کند.

string a = "\\\u0066\n";
Console.WriteLine(a);

نکته

کد فرار udddd\ (که dddd یک عدد چهار رقمی است) کاراکتر یونیکد U+dddd را نشان می دهد. همچنین کدهای فرار یونیکد هشت-بیتی بصورت udddd\udddd\ نشان داده می شوند.


رشته های تحت اللفظی (رشته هایی که در آنها توالی های فرار نادیده گرفته می شوند) با @ شروع می شوند. این رشته ها نیز در داخل علامت نقل قول قرار می گیرند. برای مثال:

@"good morning"  // a string literal

مزیت رشته های تحت اللفضی (verbatim) این است که در آنها توالی های فرار، پردازش نمی شوند که آنها را مثلا" برای نوشتن نام کامل یک فایل (که حاوی علامت های بک اسلش است) ساده می کند:

@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

برای نوشتن علامت نقل قول دوتایی در یک رشته quoted-@ علامت نقل قول را دوبار تکرار کنید:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

کاربرد دیگر علامت @ برای استفاده از کلمات رزرو شده ی سی شارپ به عنوان شناسه است.

class SimpleStringTest 
{
    static void Main()
    {
       string a = "\u0068ello ";
       string b = "world";
       Console.WriteLine( a + b );
       Console.WriteLine( a + b == "Hello World" ); // == performs a case-sensitive comparison
    }
}
    /* Output:
        hello world
        False
     */

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی