صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 54

نام تاپیک: ترفندهای برنامه نویسی در #C

  1. #1

    ترفندهای برنامه نویسی در #C

    هر کسی که مدتی برنامه نویسی کرده باشه حتماً ترفند هایی رو برای خودش پیدا کرده تا بتونه کدهای جمع و جورتر و خلاصه تری با کارایی بالاتر را تولید کنه و یا با استفاده از امکانات محیط برنامه نویسی به منظور سهولت کد نویسی و یا تولید کد های خودکار به کار خودش سرعت و دقت بیشتری بده.
    ممنون میشم تجربیات خودتون رو ارائه کنید.

  2. #2
    برای مثال همون طور که خودتون بهتر می دونید به جای
    WindowsApplication1.Form1 form = new Form1();
    form.Show();
    میشه نوشت
    new Form1().Show();

  3. #3
    اگر چند TextBox داشته باشیم در فرم میتوان جای
    textBox1.Text = "text";
    textBox2.Text = "text";
    textBox3.Text = "text";
    textBox4.Text = "text";
    textBox5.Text = "text";

    نوشت
    foreach (TextBox x in this.Controls)
    x.Text = "text";


    یا حتی جای
    textBox1.Text = "1";
    textBox2.Text = "2";
    textBox3.Text = "3";
    textBox4.Text = "4";
    textBox5.Text = "5”;

    داریم
    foreach (TextBox x in this.Controls)
    x.Text = x.Name[x.Name.Length-1].ToString();


  4. #4
    حتما تا حالا با توابع Event ها که شبیه هم هستند و الکی صفحه رو شلوغ می کنن بر خورد کردین ، میشه بعضیاشونو اینجوری خلاصه کرد:
    فرض کنیم توابعی برای هندل کردن رویدادهایی داریم که تقریبا مشابه اند مثل زیر
      private void button1_Click(object sender, EventArgs e)
    {
    Form1 form = new Form1();
    form.Show();
    }

    private void button2_Click(object sender, EventArgs e)
    {
    Form1 form = new Form1();
    form.Show();
    }


    جای این دو می توان تابعی برای یکی ایجاد کرد و تابع رویداد دیگری را به آن لینک داد و به این شکل نوشت
    private void button1_Click(object sender, EventArgs e)
    {
    switch (((Button)sender).Name)
    {
    case "button1":
    new Form1().Show();
    break;
    case "button2":
    new Form2().Show();
    break;
    }
    }



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

  5. #5
    واقعا عالیه.کاش همینطور ادامه بدید.

  6. #6
    کاربر دائمی آواتار e-shahshahani
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    229
    بعضی وقت ها این ترفند ها سلیقه ای است، یا مثلا خوانایی برنامه را کم می کند یا سرعت را کم یا زیاد می کند.
    کلا مواظب ترفند هاتون باشید. البته این چند تایی که تا اینجا گفتید خوبه! دستتون درد نکنه.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    قلب دوستان
    پست
    191
    Boole To Int
    bool i = true;
    int j = i ? 1 : 0;

  8. #8
    ممکنه توی فرمتون تعداد زیادی TextBox باشه و بخوایید هر بار که اون فوکوس میشه متن داخلش انتخاب بشه تا اگه کاربر بخواد اون رو عوض کنه نیازی به Del و BackSpace نداشته باشه
    میشه برای هر TextBox یه Event نوشت و اون کار رو انجام بدید
    حالا اگه تعداد textBox ها زیاد باشه برای هر کنترل یک Event
    میشه برای همه اونهایک Event نوشت تا اینکار رو برای همه اونها انجام بده :
    اول باید همه TextBox هایی رو که می خوایید انتخاب کنین بعد یه Event براشون بزارین تا همشون از یه Event استفاده کنند بعد این کد رو داخل اون Event می گذارید

    private void textBox1_Enter(object sender, EventArgs e)
    {
    TextBox txtbx = (TextBox)sender;
    txtbx.text.selectall();
    }
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  9. #9
    به جای تابع زیر
    string CheckIfEqual(int i, int j)
    {
    if (i == j)
    {
    return "Equal";
    }
    else
    {
    return "Not Equal";
    }
    }


    میتوان نوشت
    string CheckIfEqual2(int i, int j)
    {
    return (i == j) ? "Equal" : "Not Equal";

    }



  10. #10
    به جای
    if ((boolean1 && !boolean2) || (!boolean1 && boolean2))
    {
    // Do Something
    }
    داریم
    if (boolean1 ^ boolean2)
    {
    // Do Something
    }

  11. #11
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک

    TextBox txtbx = (TextBox)sender;

    معادل با


    TextBox txtbx = sender as TextBox;


    که اتفاقا من دیدم بیشتر از این دومی استفاده می شه. شاید به خاطر این که بعضیا از casting خیلی خوششون نمیاد. به خاطر خاطره بدی که از boxing و unboxing دارن

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  12. #12
    کاربر دائمی آواتار mamali_programer
    تاریخ عضویت
    آذر 1386
    محل زندگی
    تهران
    پست
    162
    ممنون از راهنمایی تون

  13. #13
    نقل قول نوشته شده توسط r.kiani
    که اتفاقا من دیدم بیشتر از این دومی استفاده می شه. شاید به خاطر این که بعضیا از casting خیلی خوششون نمیاد. به خاطر خاطره بدی که از boxing و unboxing دارن
    کار درستی می کنند!
    دستوراتی که در یک زبان برنامه نویسی وجود داره بر اساس عشق و حال برنامه نویس عمل نمی کنند و قاعده، قانون و کاربرد خاص خودشون رو دارند.
    در #C دو نوع Casting وجود داره و در VB.NET سه نوع.
    شکل ساده ی Casting در #C که به شکل type) object) نوشته میشه، در صورتی که موفق نشه object رو به type تبدیل کنه و سعی در استفاده از شیء برگشت داده شده داشته باشید باعث بروز خطا میشه.
    به همین دلیل پیشنهاد میشه که همیشه از کلمه ی کلیدی as استفاده بشه تا با بررسی شی برگشت داده شده با مقدار null، صحت یا عدم صحت Casting بررسی بشه.

    موفق باشید.

    پ.ن: در VB.NET از تابع TryCast بدین منظور استفاده میشه.

  14. #14
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    کار درستی می کنند!
    من هم نگفتم اشتباه می کنند. و به همین دلیل هم بود که اون کد را نوشتم. جناب راد

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  15. #15
    وقتی کدی رو بهتر تشخیص میدی، بهتره دلیل تشخیصتم بگی.
    در اون پست دلیل فنی ذکر نکردی و فقط گفتی "خوششون نمیاد"!!!

    موفق باشی.

  16. #16
    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    وقتی کدی رو بهتر تشخیص میدی، بهتره دلیل تشخیصتم بگی.
    در اون پست دلیل فنی ذکر نکردی و فقط گفتی "خوششون نمیاد"!!!

    موفق باشی.
    اگر دلیلی ارائه نشد به این دلیل بود که بحث تاپیک مربوط به بررسی خوب یا بد بودن یا مزایا و معایب کد ها نسبت به هم نبود. اون کد را هم من فقط صرف اینکه بگم یه راه هست معادل کدی که داده بودن
    به هر حال از توضیحتون ممنون

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  17. #17
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    شیراز
    پست
    133
    با سلام:
    واقعا از این مطالب لذت بردم!
    لطفا مطالب بیشتری از این قبیل قرار بدهید!
    با تشکر و احترام فراوان

  18. #18
    { خواهش می کنم از بحثای فرعی جلوگیری کنید تا تایپیک شلوغ نشه }

    اگه بخواهیید قسمتی از کدتون رو برای مدتی از کد اصلی خارج کنید چه کار می کنید؟
    از // استفاده میکنید؟ یا از /* */ ؟ اگه تعداد خطوط مورد نظر زیاد باشن چی کار می کنید؟ برای هر خط // می گذارید؟
    خوب اجازه بدید این جور کارای پیش پا افتاده رو .NET براتون انجام بده:

    کافیه خطوط مورد نظر را انتخاب کنید و بعد Ctrl رو نگه دارید و E و C رو همزمان بفشارید!
    برای برگشتش هم Ctrl + (E,U)

    اگر کار با کیبرد براتون سخته این کارایی که می گم رو انجام بدید:
    View > ToolBars > Text Editor
    که باعث میشه یه ToolBarبه بالای صفحه اضافه بشه که این امکانی که گفتم از اینجایی که در فایل زمیمه مشخص کردم قابل دسترسی می باشد.


    در مورد بقیه امکانات این قسمت هم اگه یه مقدار باهش کار کنید متوجه می شید خودتون ولی اگه خواستید توضیح می دم بازم.
    عکس های ضمیمه عکس های ضمیمه

  19. #19
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    39
    پست
    1,491
    برای نامگذاری متغیرها (object ها) بهتر است نام انتخابی بهمراه نوع داده نوشته شود، مثلا:

    DateTime rapidDateTime;
    TextBox userNameTextBox;
    Label userNameLabel;
    ComboBox userNameComboBox;

    همچنین اگر دقت کنید وقتی که از wizard برای افزودن گزینه های Menu روی فرم استفاده میکنید، VS به همین طریق گزینه های Menu را نامگذاری میکند مثلا با نام fileToolStripMenu و بهرحال باعث خوانایی کدها می گردد.

  20. #20
    نقل قول نوشته شده توسط PC2st.ir مشاهده تاپیک
    برای نامگذاری متغیرها (object ها) بهتر است نام انتخابی بهمراه نوع داده نوشته شود، مثلا:

    DateTime rapidDateTime;
    TextBox userNameTextBox;
    Label userNameLabel;
    ComboBox userNameComboBox;
    همچنین اگر دقت کنید وقتی که از wizard برای افزودن گزینه های Menu روی فرم استفاده میکنید، VS به همین طریق گزینه های Menu را نامگذاری میکند مثلا با نام fileToolStripMenu و بهرحال باعث خوانایی کدها می گردد.
    به نظر من بهتره اول نوعش بیاد بعد اسمش یعنی

    TextBox TextBoxuserName;

    یه جورایی کاراتره
    مثلا وقتی تویه ContexMenu دنبال یه نوع متغیر می گردیم مثلا TextBox می گردیم همه اونها پشت سرهم دیده میشند و پیدا کردنشون راحتره
    و میشه به جای اسم کامل متغیر از یه مخفف استفاده کرد مثلا TxtBx
    البته این نظر شخصیه
    مواردی از این چند برمی گرده به روش نامگذاری مجارستانی که نمونه‌ای از اون رو آقای هاشمیان توی کتابشون آوردن
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  21. #21
    ممکنه در زمانی که کد می نویسید تورفتگی های پیشفرضی که محیط ادیتور ایجاد می کنه بهم بریزه و مک یا زیاد بشه
    حالا اگه بخواییم با Space و Del درستشون کنیم که
    میشه اینکارو به ادیتور سپرد
    1- اول کل کد را انتخاب می کنیم Ctrl+A
    2- بعد Ctrl+K
    3- در آخر Ctrl+F
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  22. #22
    اگه دوست دارید یه نفر for , foreach , try , while , … را براتون بنویسه تا شما داخلش بتونید کد بزنید و یا کد انتخابی شمارو داخل آن بذاره باشید .NET بهترین انتخاب خواهد بود!
    کد مورد نظر خود را انتخاب کنید و Sururond With … رو بزنید! حالا دیگه انتخاب با شماست!

  23. #23
    اینم کد برای اینکه textbox های روی فرم از حالت readonly خارج شوند بیشتر بدرد edit می خوره
    privatevoid button1_Click(object sender, EventArgs e)
    {
    foreach (Control co in Controls)
    {
    if (co.GetType().ToString() == "System.Windows.Forms.TextBox")
    ((TextBox)co).ReadOnly = false;

    }
    }

    البته برای اینکه enable یا visible کنید هم میتونید استفاده کنید

  24. #24
    نقل قول نوشته شده توسط arash1718 مشاهده تاپیک
    حتما تا حالا با توابع Event ها که شبیه هم هستند و الکی صفحه رو شلوغ می کنن بر خورد کردین ، میشه بعضیاشونو اینجوری خلاصه کرد:
    فرض کنیم توابعی برای هندل کردن رویدادهایی داریم که تقریبا مشابه اند مثل زیر

      private void button1_Click(object sender, EventArgs e)



    {

    Form1 form = new Form1();
    form.Show();
    }



    private void button2_Click(object sender, EventArgs e)
    {
    Form1 form = new Form1();
    form.Show();
    }






    جای این دو می توان تابعی برای یکی ایجاد کرد و تابع رویداد دیگری را به آن لینک داد و به این شکل نوشت




    private void button1_Click(object sender, EventArgs e)








    {




    switch (((Button)sender).Name)




    {




    case "button1":




    new Form1().Show();




    break;




    case "button2":




    new Form2().Show();




    break;




    }




    }








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

    اولا خیلی خوشحالم که چنین چیزی هست
    دوما او ن دوستای که از این مطلب تشکر کردید میشه به منم بگید چطوری از این کد استفاده کردید آخه من همین کد را میزنم ولی فقط برای یکی از فرم هام صادقه

  25. #25
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    ممکنه در زمانی که کد می نویسید تورفتگی های پیشفرضی که محیط ادیتور ایجاد می کنه بهم بریزه و مک یا زیاد بشه
    حالا اگه بخواییم با Space و Del درستشون کنیم که
    میشه اینکارو به ادیتور سپرد
    1- اول کل کد را انتخاب می کنیم Ctrl+A
    2- بعد Ctrl+K
    3- در آخر Ctrl+F


    ممنون دوست عزیز. میشه بگین این کار رو اگه بخوایم از منو ها یا از دکمه ها استفاده کنیم، چیجوریه؟!

  26. #26
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    ممکنه در زمانی که کد می نویسید تورفتگی های پیشفرضی که محیط ادیتور ایجاد می کنه بهم بریزه و مک یا زیاد بشه
    حالا اگه بخواییم با Space و Del درستشون کنیم که
    میشه اینکارو به ادیتور سپرد
    1- اول کل کد را انتخاب می کنیم Ctrl+A
    2- بعد Ctrl+K
    3- در آخر Ctrl+F

    با تشکر از شما اما راه راحت تری هم هست : Ctrl+E,D
    که با این روش کل document مرتب میشه و نیازی به Ctrl + A یا انتخاب همه نیست!
    از Edit هم قابل دسترسی است :
    Edit > Advanced > Format Document

  27. #27
    تمام Shortcut Key ها برای تایپ و ادیت متن کد.
    منبع : MSDN
    فایل های ضمیمه فایل های ضمیمه

  28. #28
    نقل قول نوشته شده توسط arash1718 مشاهده تاپیک
    ></p><table width="100%" border="1" cellpadding="1" cellspacing="1" bordercolor="#CC0000" bgcolor="#FFFFCC">
    <tr>
    <th>
    Command Name </th>
    <th>
    Shortcut Keys </th>
    <th>
    Description </th>
    </tr><tr>
    <td>
    <p class="style2">Edit.BreakLine</p> </td>
    <td>
    <p class="style2">ENTER </p>
    <p class="style2">—or—</p>
    <p class="style2">SHIFT + ENTER</p> </td>
    <td>
    <p class="style2">Inserts a new line.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.CharTranspose</p> </td>
    <td>
    <p class="style2">CTRL + T</p> </td>
    <td>
    <p class="style2">Swaps the characters on either side of the insertion point. For example, AC|BD becomes AB|CD. Available only in text editors.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ClearBookmarks</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + L</p> </td>
    <td>
    <p class="style2">Removes all unnamed bookmarks in the current document.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.CollapseToDefinitions</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + O</p> </td>
    <td>
    <p class="style2">Automatically determines logical boundaries for creating regions in code, such as procedures, and then hides them.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.CommentSelection</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + C</p> </td>
    <td>
    <p class="style2">Marks the current line of code as a comment, using the correct comment syntax for the programming language.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.CompleteWord</p> </td>
    <td>
    <p class="style2">ALT + RIGHT ARROW</p>
    <p class="style2">—or—</p>
    <p class="style2">CTRL + SPACEBAR</p> </td>
    <td>
    <p class="style2">Displays Word Completion based on the current language.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.DeleteBackwards</p> </td>
    <td>
    <p class="style2">BACKSPACE </p>
    <p class="style2">—or—</p>
    <p class="style2">SHIFT + BACKSPACE</p> </td>
    <td>
    <p class="style2">Deletes one character to the left of the cursor.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.DeleteHorizontalWhitespace</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + \</p> </td>
    <td>
    <p class="style2">Collapses white space in the selection, or deletes white space adjacent to the cursor if there is no selection.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.FormatDocument</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + D</p> </td>
    <td>
    <p class="style2">Applies the indenting and space formatting for the language as specified on the Formatting pane of the language in the Text Editor section of the Options dialog box.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.FormatSelection</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + F</p> </td>
    <td>
    <p class="style2">Correctly indents the selected lines of code based on the surrounding lines of code.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.HideSelection</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + H</p> </td>
    <td>
    <p class="style2">Hides the selected text. A signal icon marks the location of the hidden text in the file.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.InsertTab</p> </td>
    <td>
    <p class="style2">TAB</p> </td>
    <td>
    <p class="style2">Indents the line of text a specified number of spaces.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.LineCut</p> </td>
    <td>
    <p class="style2">CTRL + L</p> </td>
    <td>
    <p class="style2">Cuts all selected lines, or the current line if nothing has been selected, to the Clipboard.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.LineDelete</p> </td>
    <td>
    <p class="style2">CTRL + SHIFT + L</p> </td>
    <td>
    <p class="style2">Deletes all selected lines, or the current line if no selection has been made.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.LineOpenAbove</p> </td>
    <td>
    <p class="style2">CTRL + ENTER</p> </td>
    <td>
    <p class="style2">Inserts a blank line above the insertion point.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.LineOpenBelow</p> </td>
    <td>
    <p class="style2">CTRL + SHIFT + ENTER</p> </td>
    <td>
    <p class="style2">Inserts a blank line below the insertion point.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.LineTranspose</p> </td>
    <td>
    <p class="style2">SHIFT + ALT + T</p> </td>
    <td>
    <p class="style2">Moves the line containing the insertion point below the next line.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ListMembers</p> </td>
    <td>
    <p class="style2">CTRL + J</p> </td>
    <td>
    <p class="style2">Lists members of the current class for statement completion when editing code.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.MakeLowercase</p> </td>
    <td>
    <p class="style2">CTRL + U</p> </td>
    <td>
    <p class="style2">Changes the selected text to lowercase characters.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.MakeUppercase</p> </td>
    <td>
    <p class="style2">CTRL + SHIFT + U</p> </td>
    <td>
    <p class="style2">Changes the selected text to uppercase characters.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.OverTypeMode</p> </td>
    <td>
    <p class="style2">INSERT</p> </td>
    <td>
    <p class="style2">Toggles between insert and overtype insertion modes. Available only when working in text editors.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ParameterInfo</p> </td>
    <td>
    <p class="style2">CTRL + SHIFT + SPACEBAR</p> </td>
    <td>
    <p class="style2">Displays a tool tip that contains information for the current parameter, based on the current language. Available only in Source view of the HTML Designer.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.StopHidingCurrent</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + U</p> </td>
    <td>
    <p class="style2">Removes the outlining information for the currently selected region.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.StopOutlining</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + P</p> </td>
    <td>
    <p class="style2">Removes all outlining information from the entire document.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.SwapAnchor</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + A</p> </td>
    <td>
    <p class="style2">Swaps the anchor and end points of the current selection.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.TabLeft</p> </td>
    <td>
    <p class="style2">SHIFT + TAB</p> </td>
    <td>
    <p class="style2">Moves selected lines to the left one tab stop.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ToggleAllOutlining</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + L</p> </td>
    <td>
    <p class="style2">Toggles all previously marked hidden text sections between hidden and display states.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ToggleBookmark</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + K</p> </td>
    <td>
    <p class="style2">Sets or removes a bookmark at the current line.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ToggleOutliningExpansion</p> </td>
    <td>
    <p class="style2">CTRL + M, CTRL + M</p> </td>
    <td>
    <p class="style2">Toggles the currently selected hidden text section between the hidden and display state.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ToggleTaskListShortcut</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + H</p> </td>
    <td>
    <p class="style2">Sets or removes a shortcut at the current line.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ToggleWordWrap</p> </td>
    <td>
    <p class="style2">CTRL +E, CTRL + W</p> </td>
    <td>
    <p class="style2">Enables or disables word wrap in an editor.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.UncommentSelection</p> </td>
    <td>
    <p class="style2">CTRL + K, CTRL + U</p> </td>
    <td>
    <p class="style2">Removes the comment syntax from the current line of code.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.ViewWhiteSpace</p> </td>
    <td>
    <p class="style2">CTRL + R, CTRL + W</p> </td>
    <td>
    <p class="style2">Shows or hides spaces and tab marks.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.WordDeleteToEnd</p> </td>
    <td>
    <p class="style2">CTRL + DELETE</p> </td>
    <td>
    <p class="style2">Deletes the word to the right of the insertion point.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.WordDeleteToStart</p> </td>
    <td>
    <p class="style2">CTRL + BACKSPACE</p> </td>
    <td>
    <p class="style2">Deletes the word to the left of the insertion point.</p> </td>
    </tr><tr>
    <td>
    <p class="style2">Edit.WordTranspose</p> </td>
    <td>
    <p class="style2">CTRL + SHIFT + T</p> </td>
    <td>
    <p class="style2">Transposes the words on either side of the insertion point. For example, |End Sub would be changed to read Sub End|.</p> </td>
    </tr></table><p><
    بدون شرح !!!!

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  29. #29
    تمام Shortcut Key ها برای تایپ سریع تر با کیبرد کد.
    منبع : MSDN
    فایل های ضمیمه فایل های ضمیمه

  30. #30
    تمام Shortcut Key ها برای Debugging کد.
    منبع : MSDN
    فایل های ضمیمه فایل های ضمیمه

  31. #31
    تمام Shortcut Key ها برای Search And Replace کد.
    منبع : MSDN
    فایل های ضمیمه فایل های ضمیمه

  32. #32
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    ترفندی برای فارسی کردن صفحه کلید


    using System.Globalization;
    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(CultureInfo.CreateSpecif icCulture("fa-IR"));

  33. #33
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639

    C#‎ 3.0

    نمی دونم با C#‎ 3.0 چقدر آشنایی دارید. ولی شاید این کد بابی بشه برای ورود افراد تازه‏وارد (مثل خودم) به این زبان قشنگ:
    class Program
    {
    staticvoid Main(string[] args)
    {
    Enumerable.Range(100, 10).Perform(Console.WriteLine);
    }
    }
    static class Extensions
    {
    internal static void Perform<TSource>(this IEnumerable<TSource> source, Action<TSource> actor)
    {
    foreach (var item in source)
    {
    actor(item);
    }
    }
    }

    یه کلاس تو NET. هست به نام Enumerable که تعداد زیادی Extention Method (نگران نباشید) واسه استفاده از IEnumerable و <IEnumerable<T توش تعریف شده (یه جورایی اساس LINQ هم هست.) ولی من فعلا از این کلاس برای تولید 10تا عدد از 100 استفاده کردم.
    Enumerable.Range(100, 10)
    خب تا همینجا صبر کنید. بریم سراغ کلاس Extensions که اصل کاریه:
    توی C#‎ 3.0 یه مفهوم جدید بنام Extension Method به وجود اومده که به نظر من فوق‏العاده‏ست. بیاین یه کم روش focus کنیم (واسه همین گفتم نگران نباشید.) قبلا ما اگه می‏خواستیم واسه یه کلاس خاص که از قبل وجود داشت (مثل Int32) یه متد بنویسیم (مثل Int32ToHex) باید یه کلاس مثل utility می نوشیم و الخ. خب این خییییلی هم خوب نبود چون وقتی تعداد این کلاسای utility زیاد می شد، دیگه بخاطر آوردن اینکه کدوم متد تو کدوم کلاس بود زیادم آسون نبود. البته هنوزم می تونیم اینکارو بکنیم. ولی حالا یه راه آسونتر هم هست به نام Extension Method که با کمک اون میشه متدتونو یه جورایی تزریق کنید تو دل کلاس مورد نظر:
    int a = 10;
    string b = a.ToHex();
    وای خدای من!!!!
    ...

  34. #34
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    کجا بودیم؟ آهان بله تزریق متد توی کلاسی که میتونه مال ما نباشه. اینکار تحت این شرایط امکانپذیره:
    1- کلاسی که حاوی Extension Method هست باید static باشه.
    static class AClassName...

    2- (خب به طبع مورد 1) متد تزریقی هم باید static باشه
    public static void AMethod(...

    3- نوع (type) اولین پارامتر متد، باید همون کلاس «هدف» باشه
    public static void AMethod(...Int32 num

    4- برای اینکه به CLR بگیم این یه Extension Method هست باید قبل از پارامتر اول از کلمه کلیدی this استفاده کنیم:
    public static void AMethod(this Int32 num

    آقا تمومه. حالا کدتونو کاملا عادی بنویسین و توی یه کلاس دیگه از کلاس هدف instance بگیرید. حالا میتونید متدتونو تو لیست memberهاش ببینینو حالشو ببرین.
    (خدایش به شرط چاقو گفتم تنها شرطش اینه که VS 2008 داشته باشین)
    ....

  35. #35
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    حالا برگردیم به برنامه خودمون. گفتیم که
    بریم سراغ کلاس Extensions که اصل کاریه
    حتما متدهای Generic رو میشناسید. من یه متد generic نوشتم که یه IEnumerable می گیره و تک تک اعضاش رو پاس میده به delegateی که actior نام داره. حالا این delegate می تونه هر چیزی که همsignature با <Action<TSource باشه، باشه مثل مثال ما که آدرس Console.WriteLine توش ذخیره شده. با یه حساب سرانگشتی معلوم میشه که تک تک اعضای source که همون اعداد ما باشن به actor که همون Console.WriteLine باشه پاس داده میشه. بقیش هم که تابلوه.
    مشکلی باشه در خدمتم.

  36. #36
    عبارات منظم ( قسمت اول )
    اگر بخواهید رشته ای که کاربر وارد کرده را بسنجید که آیا با معیارهای شما همحوانی دارد یا خیر چه کار می کنید؟ مثلا فرض کنید میخواهید بسنجید که این رشته شماره تلفن هست یا خیر؟ با آدرس Email هست یا اشتباهی درش وجود داره؟
    کسانی که با Regular Expression آشنایی ندارند احتمالاً با توجه به پیش فرضی که از زبان های سطح پایین تر مثل C یا Pascal دارند سعی میکنند که رشته را به صورت آرایه ای از کارکترها فرض کنند و هر کارکتر را با شرایطی بسنجند !
    حال فرض کنید حالتی رو که Email Address ورودی آنها باشد ...
    - Email Address نباید با عدد شروع شود.
    - در Email Address شما نباید دو تا . پشت سر هم بیاید ( به همین شکل برای + و - و ‘ )
    - و شرایط دیگری برای @ یا . و ...
    خوب اگه در زبانی سطح بالایی مجور باشید برای هر کاکتر این شروط را یکی یکی بنویسید اسم اون زبان رو دیگه زبان سطح بالا نمیشه گذاشت !
    همه ی اون شروط Email Address را در یک خط می توان خلاصه کرد که یه جواب True یا False به ما بدهد :
    System.Text.RegularExpressions.Regex.Match( inputString , “\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*”).Success;
    در باره کار با Reg Ex بیشتر صحبت خواهیم کرد !


  37. #37
    عبارات منظم ( قسمت دوم )
    سعی می کنم با چند مثال توضیح بدم :
    فرض کنید رشته ای داریم که میخواهیم بدانیم در آن کلمه "arash" به کار رفته یا خیر و اگر به کار رفته بود پیغام دهد! این کار به را حتی با دستور زیر قابل اجراست :
    using System.Text.RegularExpressions;
    if (Regex.Match(TextBox1.Text, "arash").Success)
    {
    MessageBox.Show("arash was found");
    }
    حال نمونه کد برای یافتن تعداد تطبیق های رشته مورد نظر :
    MessageBox.Show(Regex.Matches(TextBox1.Text, "arash").Count.ToString());

    یا اگر بخواهیم قیمت هایی که در رشته وجود داشته را بیابیم :
    Regex.Matches(richTextBox1.Text, @"\d+$");


    که آرایه ای از Match ها بر میگرداند که مقدار آنها برای مثال 235$ با 250000$ می باشد و در آن :
    \d نماینده یک عدد دلخواه و + بعد آن نشان میدهد که این عدد یکبار یا بیشتر میتواند تکرار شود.
    چند نماد دیگر :
    - w\ یک کارکتر کلمه ای
    - s\ یک فاصله حالی
    - D\ هر کارکتر غیر رقمی
    - W\ هر کارکتر غیر کلمه ای
    - S\ هر کارکتر غیر فاصله ای
    - + یک یا بیستر بار تکرار
    - * صفر یا بیستر بار تکرار
    - ؟ یک یا صفر بار تکرار
    - ...
    توضیحات بیشتر در اینجا:


  38. #38
    عبارات منظم ( قسمت سوم )
    چند Regular Expression معروف :
    ایمیل :
    \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    آدرس وب (URL) :
    http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

    Zip code :
    \d{5}(-\d{4})?

    US Phone Num :
    ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}

    P.R.C Postal Code :
    \d{6}

  39. #39
    با تشکر از آرش خان
    در ادامه بحث عبارات منظم چند تا لینک معرفی میکنم که مفید هستند
    http://www.regular-expressions.info/dotnet.html

    http://msdn2.microsoft.com/en-us/library/ms228595.aspx

    http://msdn2.microsoft.com/en-us/library/yab2dx62.aspx

    http://msdn2.microsoft.com/en-us/lib...fc(VS.71).aspx

    http://msdn2.microsoft.com/en-us/library/1400241x.aspx

    توجه :
    یک کتاب مرجع سریع برای عبارات منظم هم دارم که هم حجمش فوق العاده کمه و هم چندین زبان از جمله سی شارپ، پایتون، پرل ، جاوا و ... را نیز شامل میشه .. این کتاب برای دوستانی که می خوان با عبارات منظم خیلی سریع اشنا بشن و از اونا در برنامه هاشون استفاده کنند خیلی مناسبه.. چون یک مرجع خیلی سریع هست..
    برای دریافت کتاب که حجمی در حدود 200 کیلو بایت داره !!!از طریق ایمیل من اقدام کنید..چون می دونید که نمیشه اینجا اپ کرد

    موفق باشید

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  40. #40
    نقل قول نوشته شده توسط r.kiani مشاهده تاپیک
    با تشکر از آرش خان
    در ادامه بحث عبارات منظم چند تا لینک معرفی میکنم که مفید هستند
    http://www.regular-expressions.info/dotnet.html

    http://msdn2.microsoft.com/en-us/library/ms228595.aspx

    http://msdn2.microsoft.com/en-us/library/yab2dx62.aspx

    http://msdn2.microsoft.com/en-us/library/az24scfc(VS.71).aspx

    http://msdn2.microsoft.com/en-us/library/1400241x.aspx

    توجه :
    یک کتاب مرجع سریع برای عبارات منظم هم دارم که هم حجمش فوق العاده کمه و هم چندین زبان از جمله سی شارپ، پایتون، پرل ، جاوا و ... را نیز شامل میشه .. این کتاب برای دوستانی که می خوان با عبارات منظم خیلی سریع اشنا بشن و از اونا در برنامه هاشون استفاده کنند خیلی مناسبه.. چون یک مرجع خیلی سریع هست..
    برای دریافت کتاب که حجمی در حدود 200 کیلو بایت داره !!!از طریق ایمیل من اقدام کنید..چون می دونید که نمیشه اینجا اپ کرد

    موفق باشید
    ممنون از لینک های مفیدتون اما چرا نمیشه کتاب رو بگذارید؟

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •