PDA

View Full Version : آموزش: آموزش گام به گام زبان سی شارپ از مبتدی تا پیشرفته



hamid075
چهارشنبه 25 مهر 1397, 14:45 عصر
سلام به همه ی دوستان عزیز سایت برنامه نویس. چند وقتی بود که داشتم فکر میکردم که ممکنه دوستانی باشند که نیاز داشته باشند آموزش سی شارپ را مرحله به مرحله جلو برند . پس تصمیم گرفتم تاپیکی ایجاد کنم و در هر پست یکی از ویژگی های این زبان را بررسی کنم. امیدوارم برای دوستان مفید واقع بشه.

hamid075
چهارشنبه 25 مهر 1397, 14:47 عصر
معرفی زبان سی شارپ

سی شارپ (#C) یک زبان برنامه نویسی شی گرا است که توسط شرکت مایکروسافت ساخته شده و ترکیبی از قابلیتهای خوب زبان های ++C و Java است.اگر با این دو زبان آشنایی دارید این شانس را دارید زبان سی شارپ را به آسانی یاد بگیرید.این زبان به قدری آسان است که هم کسانی که قبلا برنامه نویسی نکرده اند و هم دانش آموزان می توانند آسان آن را یاد بگیرند.

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

برای اجرای یک برنامه سی شارپ ابتدا باید دات نت فریم ورک را بر روی سیستم عاملتان نصب کنید.سی شارپ یکی از زبانهایی است که از تکنولوژی های دیگر دات نت مانند ASP.NET, Silverlight و XNA پشتیبانی میکند. این زبان همچنین یک محیط توسعه یکپارچه دارد که آن نیز به نوبه خود دارای ابزارهای مفیدی است که به شما در کدنویسی کمک می کند. این زبان به طور دائم توسط مایکروسافت به روز شده و ویژگیهای جدیدی به آن اضافه می شود. سی شارپ یکی از بهترین زبانهای برنامه نویسی دات نت است.نمونه مثالی از زبان #C :

using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* my first program in C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎ */
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}


خروجی نمونه کد بالا در محیط کنسول به شکل زیر است :

149085


منبع :
آموزش زبان سی شارپ (http://learnsource.net/post/74/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-c)

hamid075
چهارشنبه 25 مهر 1397, 15:37 عصر
محیط توسعه و اجرا برای زبان برنامه نویسی سی شارپ

#C(سی شارپ) برای اجرای انواع مختلف اپلیکیشن ها مانند وب ، ویندوز فرم و کنسول در سمت سرور استفاده میشود. برای استفاده ی آسان از این زبان از محیط توسعه (IDE) برای آن استفاده میشود. یک نمونه ی مهم و قدرتمند در این زمینه نرم افزار Visual Studio است.

#C(سی شارپ) برای اجرای انواع مختلف اپلیکیشن ها مانند وب ، ویندوز فرم و کنسول در سمت سرور استفاده میشود. به منظور استفاده از زبان #C در برنامه ی خود به دو چیز نیاز دارید :




NET Framework.
(IDE (Integrated Development Environment



دات نت فریمورک (NET Framework.)

NET Framework. یک پلتفرم یا سکویی است که میتوانید برنامه های خود را در انواع های مختلف وب ، دسکتاپ و ... بر روی آن بنویسید. میتوانید از زبان #F#‎‎‎ ، Visual Basic ، C و Jscript برای نوشتن این برنامه ها استفاده کنید. اگر شما از سیستم عامل ویندوز استفاده میکنید ممکن است از قبل NET Framework. بر روی کامپیوترتان نصب شده باشد.




نکته : در زمان نوشتن این مقاله مایکروسافت از نسخه ای از دات نت به نام NET Core. رونمایی کرده است که میتوان از آن به عنوان جایگزینی برای NET Framework. نام برد. البته NET Core. به سرعت در حال توسعه است تا بتواند تمام ویژگی های NET Framework. را داشته باشد. NET Core. یک پلتفرم چند سکویی است که در ویندوز ، macOS و Linux پشتیبانی میشود. از مهمترین ویژگی های آن میتوان به کد باز بودن آن اشاره کرد. در انتهای فصل بعد با ساخت پروژه ای با این نسخه از دات نت نیز آشنا خواهید شد.


محیط توسعه ی یکپارچه (IDE)

یک IDE ابزاری است که شما را در نوشتن برنامه ها یاری میکند. ویژوال استادیو یک IDE است که به وسیله ی شرکت مایکروسافت برای نوشتن کد ها در زبان هایی همچون #C(سی شارپ) ، F#‎‎‎ ، VisualBasic و ... فراهم آمده است. میتوانید بر اساس نسخه ای از زبان #C(سی شارپ) که میخواهید با آن کار کنید از نسخه های مختلف ویژوال استادیو استفاده کنید.


ویژوال استادیو یک محصول رایگان نیست . بنابراین برای استفاده های تجاری باید لایسنس آن را تهیه کنید. با این حال نسخه هایی از ویژوال استادیو به صورت رایگان در اختیار عموم قرار گرفته اند که میتوان به Visual Studio Express و Visual Studio Community اشاره کرد. زبان #C میتواند در برنامه هایی که بر پایه ویندوز ، وب و کنسول هستند ، استفاده شود.

منبع : محیط توسعه و اجرا برای زبان برنامه نویسی سی شارپ (http://learnsource.net/post/102/%D9%85%D8%AD%DB%8C%D8%B7-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D9%88-%D8%A7%D8%AC%D8%B1%D8%A7-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
پنج شنبه 26 مهر 1397, 14:05 عصر
اولین برنامه در زبان برنامه نویسی سی شارپ

در قسمت قبل یک پروژه از نوع Console Application را ایجاد کردیم. در این قسمت می خواهیم با بررسی یک نمونه کد ساده از زبان #C(سی شارپ) ، قسمت های مهم آن را فرا بگیریم.


اولین برنامه در سی شارپ

هر پروژه ای از نوع Console Application از یک متد ()Main که در داخل یک کلاس Program قرار گرفته است، آغاز میشود. در نمونه مثال زیر بعد از اجرای برنامه پیغامی بر روی خروجی نشان داده میشود : !!Hello World
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace CSharpTutorials
{
class Program
{
static void Main(string[] args)
{
string message = "Hello World!!";


Console.WriteLine(message);
}
}
}



توضیحات نمونه کد بالا


هر اپلیکیشنی که بر پایه ی دات نت نوشته میشود نیاز به یک سری ارجاعات دارد که باید در ابتدای هر برنامه قرار گیرند. این ارجاعات با استفاده از فضای نام های NET framework. که از کلمه ی رزرو شده ی using استفاده میکنند ، در برنامه قرار میگیرند. برای مثال using System.Text
هر برنامه ای که به وسیله شما نوشته میشود باید در یک فضای نام (namespace) تعریف شود. این به عنوان شناسنامه ی برنامه ی شما عمل میکند و بعد ها میتوانید از برنامه ی خود در برنامه های دیگر با استفاده از این فضای نام ، استفاده کنید. برای تعریف یک فضای نام از کلمه ی رزرو شده ی namespace استفاده کرده و سپس نام دلخواه برنامه را قرار میدهیم. برای مثال namespace CSharpTutorials
زبان #C(سی شارپ) یک زبان شی گرا بر مبنای کلاس هاست. برنامه های ما باید داخل یک کلاس قرار داشته باشند (در فصول آینده به طور کامل به مفهوم کلاس ها خواهیم پرداخت). برای تعریف یک کلاس از کلمه ی رزرو شده ی class به همراه نام دلخواه برای آن استفاده میکنیم. برای مثال : class Program
()Main تابعی است از یک کلاس ، که نقطه ی آغاز یا شروع یک برنامه ی از نوع Console Application محسوب میشود.
string یک داده نوع است و در واقع نوع مقداری را که میتوان در یک متغیر قرار داد را مشخص میکند.
کلمه ی "message" در اینجا یک متغیر است که میتوانید به آن به عنوان مکانی که یک داده از یک نوع را در خود نگه میدارد نگاه کنید.
"!!Hello World" رشته ای است که در متغیر message قرار میگیرد.
Console کلاسی است که از قبل در NET framework. تعریف شده است. ()WriteLine متدی از این کلاس است که با استفاده از آن میتوان پیغامی را در خروجی نشان داد.


منبع : اولین برنامه در زبان برنامه نویسی سی شارپ (http://learnsource.net/post/103/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
شنبه 28 مهر 1397, 19:19 عصر
کلاس ها در سی شارپ
یک کلاس مانند نقشه ای کامل از یک شی مشخص است. در جهان واقعی هر شی ایی دارای یک سری خصوصیات مانند رنگ ، شکل و نوع عملکرد است. برای مثال شما یک اتومبیل فراری را درنظر بگیرید. فراری یک شی از نوع اتومبیل است و اتومبیل در اینجا نقش کلاس را برای ما بازی میکند. یک کلاس اتومبیل میتواند دارای خصوصیات معینی مانند سرعت ، رنگ و شکل باشد.بنابراین هر شرکت خودرو سازی که یک اتومبیل را با ویژگی های مورد نظرش تولید کند، شی ایی از یک اتومبیل را ساخته است. با این اوصاف اتومبیل های فراری ، لامبورگینی و کادیلاک همگی شی ایی از کلاس اتومبیل هستند.در دنیای برنامه نویسی شی گرا ، یک کلاس دارای تعدادی مشخص فیلد ، صفت ، رویداد و متد است. یک کلاس انواع داده و عملکرد هایی که اشیا دارند را مشخص میکند. در یک کلاس میتوانید نوع مورد نظر خود را از طریق گروه بندی متغیر ها و دیگر انواع ایجاد کنید.

تعریف کلاس (class)
در زبان برنامه نویسی #C(سی شارپ) یک کلاس میتواند با استفاده از کلمه ی رزرو شده ی class تعریف شود :

public class Customer{
//Fields, properties, methods and events go here...
}

در نمونه مثال فوق قبل از کلمه ی class از کلمات رزرو شده ی سطوح دسترسی استفاده شده است. و چون در این مورد از کلمه ی public استفاده شده ، هر کسی میتواند شی ایی از این کلاس را ایجاد کند. به دنبال کلمه ی class نام دلخواه کلاس (Customer) قرار گرفته است. باقی مانده ی تعریف یک کلاس بدنه ی آن است که داده ها و رفتار های کلاس در آن تعریف میشود. فیلد ها ، صفات ، متد ها و رویداد ها در مجموع اعضای کلاس را تشکیل میدهند.

منبع : کلاس ها در سی شارپ (http://learnsource.net/post/104/%DA%A9%D9%84%D8%A7%D8%B3-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
دوشنبه 30 مهر 1397, 21:06 عصر
ایجاد شی ایی از یک کلاس

اگرچه یک شی (object) و کلاس در مواقعی به عنوان جایگزینی برای هم دیگر استفاده میشوند ، در واقع آنها دو چیز متفاوت هستند. یک کلاس نوع یک شی را مشخص میکند. گاهی اوقات از شی به عنوان نمونه ایی از یک کلاس یاد میشود. اشیا میتوانند با استفاده از کلمه ی رزرو شده ی new که به دنبال آن نام کلاس می آید تعریف شوند :

Customer object1 = new Customer();وقتی نمونه ای از یک کلاس ایجاد میشود ، ارجاع آن به یک شی توسط برنامه نویس انجام میشود. در نمونه مثال قبل object1 با مقداردهی به شی ایی از نوع customer ارجاع پیدا کرده است.


منبع : کلاس ها در سی شارپ (http://learnsource.net/post/104/%DA%A9%D9%84%D8%A7%D8%B3-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
سه شنبه 01 آبان 1397, 23:58 عصر
بررسی یک نمونه مثال از کلاس

در زیر نمونه مثالی آورده شده است که اعضای کلاس در آن مشخص شده اند :

public class MyClass
{
public string myField = string.Empty;


public MyClass()
{
}


public void MyMethod(int parameter1, string parameter2)
{
Console.WriteLine("First Parameter {0}, second parameter {1}",
parameter1, parameter2);
}


public int MyAutoImplementedProperty { get; set; }


private int myPropertyVar;

public int MyProperty
{
get { return myPropertyVar; }
set { myPropertyVar = value; }


}
}


در نمونه مثال بالا کلاسی به نام MyClass ایجاد شده است که دارای فیلد ، صفت و متد است.
در شکل زیر قسمت های مختلف نمونه مثال بالا مشخص شده اند :
149138

منبع : کلاس ها در سی شارپ (http://learnsource.net/post/104/%DA%A9%D9%84%D8%A7%D8%B3-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
پنج شنبه 03 آبان 1397, 22:11 عصر
متغیر ها در سی شارپ

یک متغیر در زبان سی شارپ مکانی است که با یک نام دلخواه ، مشخص شده و میتواند یک داده نوع خاص را در خود نگه دارد. در این فصل با تعریف و مقدار دهی متغیر ها در زبان سی شارپ آشنا میشویم.

namespace CSharpTutorials
{
class Program
{
static void Main(string[] args)
{
string message = "Hello World!!";


Console.WriteLine(message);
}
}
}

یک متغیر در زبان سی شارپ مکانی است که با یک نام دلخواه مشخص شده و میتواند یک داده نوع خاص را در خود نگه دارد. در مثال بالا message نام متغیری است که یک مقدار رشته ای ("!!Hello World") را در خود ذخیره کرده است. محتوای یک متغیر در زبان سی شارپ قابل تغییر است و میتوانید هر زمانی که میخواهید مقدار آن را تغییر دهید.

منبع : متغیر ها در سی شارپ (http://learnsource.net/post/105/%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)

hamid075
شنبه 05 آبان 1397, 17:54 عصر
داده نوع ها در سی شارپآشنایی با داده نوع ها در سی شارپ (http://learnsource.net/post/106/%D8%AF%D8%A7%D8%AF%D9%87-%D9%86%D9%88%D8%B9-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)