
کاربرد سی شارپ
سی شارپ هم در طراحی اپلیکیشن های تحت وب و وبسایت ها و هم در ساخت اپلیکیشن های دسکتاپ و تلفن های همراه کاربرد دارد.
طراحان وب سایت با تکنولوژی ASP از زبان سی شارپ برای کدنویسی بخش سرور وب سایت خود استفاده مینمایند. در دوره آموزش ASP کاوش شاپ میتوانید کاربرد C# را به سادگی ببینید.
آموزش سی شارپ به شما کمک میکند تا یک آشنایی پایه و ضروری برای ورود به دنیای برنامه نویسان C# پیدا کنید.
برای طراحی یک پروژه به زبان #C نیاز است ابتدا با مفاهیم اولیه زبان و اصول پایه برنامه نویسی C# آشنا باشیم.
اموزش سی شارپ به صورت پایهای و ارائه مثالهای متنوع برای مطلب ارائه شده به درک درست از مفهوم کمک شایانی میکند.
در ویدئوهای « آموزش سی شارپ کاوش شاپ » مدرس در جهت درک مطالب، تمام تلاش خود را نموده است. امید است مورد توجه قرار بگیرد..

انواع برنامه نویسان و برنامه نویسان محیط دات نت رایگان
معرفی ابزارهای مورد نیاز برنامه نویس و کسانیکه کامپیوتر ندارند چگونه برنامه نویس #C شوند
تعریف متغیرها و تبدیل انواع داده، تبدیل ضمنی و صریح رایگان
float, double, decimal, string , explicite,
آشنایی با switch و کاربرد عملگرهای منطقی رایگان
طراحی یک ماشین حساب ساده در سی شارپ و تشخیص فرد یا زوج بودن تاس ریخته شده
تعریف تابع سازنده یا همان constructor و سربارگذاری توابع در سی شارپ رایگان
امضای متفاوت تابع شامل تعداد و نوع متغییرهای ورودی متفاوت
طراحی فرم ها در محیط دسکتاپ ویژوال رایگان
رویدادهای mouseLeave، mouseHover، mouseClick، buttonClick، mouseEnter
تعیین مکانی که کاربر کلیک کرده و همچنین تغییر رنگ پسزمینه فرم با هر رخداد و معرفی تابع fromArgb رایگان
آموزش c# رایگان بر اساس سرفصل دانشگاه
در سی شارپ دو نوع داده وجود دارد:
۱- دادههای مقداری
در سی شارپ انواع دادهی غیر صریح، ساختارها و شمارشگرها داده های مقداری هستند.
انواع داده های غیر صریح سی شارپ به شرح جدول زیر است:
۲- دادههای مرجع
داده های مرجع مانند اشیا و نمایندهها
تفاوت بین داده های مرجع و مقداری سی شارپ
تفاوت اصلی بین این دو نواع داده در سی شارپ در نحوه ذخیره سازی آنها در حافظه است.
داده های مقداری در حافظه کتابخانهای ذخیره میشوند اما دادههای مرجع در حافظهای تودهای ذخیره می شوند.
حافظه کتابخانهای حافظهای است که به وسیله پردازشگر پشتیبانی میشود و اندازه آن در زمان کامپایل برنامه مشخص میشود اما حافظه تودهای حافظه اختصاص داده شده به برنامه در هنگام اجرا است دادههای مرجع در حافظه تودهای به صورت پویا ذخیره میشوند.
هنگام استفاده از دادههای مقداری تنها یک کپی از آنها استفاده میشود در صورتی که در دادههای مرجع، مرجع آنها استفاده میشود.
<datatype> <variable name> = <value>
<مقدار> = <نام متغیر> <نوع داده>
قوانین نامگذاری متغیرها در سی شارپ:
- ابتدای نام یک متغیر میتواند از (_) استفاده شود.
- ابتدای نام یک متغیر نمیتواند عدد باشد.
- نام متغیر ها نمیتواند فاصله دار باشد.
- نام متغیر نمیتواند از کلمات کلیدی باشد.
- نام یک متغیر نمیتواند شامل علامت های + ،- ،*،(،{، ^، %، $، #، @، }، ) و … باشد.
برای تبدیل نوع داده یک مقدار به نوعی دیگر از دو روش زیر استفاده می شود:
تبدیل نوع داده اتوماتیک یا ضمنی (Implicit):
تبدیل یک نوع داده کوچکتر به نوع بزرگتر توسط کامپایلر
char -> int -> long -> float -> double
تبدیل نوع داده به صورت دستی یا صریح (Explicit):
تبدیل یک نوع بزرگتر به نوع کوچکتر توسط برنامه نویس
double -> float -> long -> int -> char
1- تبدیل نوع داده عددی به نوع دادهی عددی دیگر:
(int), (short), (long), (float)
مثال:
double myDouble = 9.78;
int myInt = (int) myDouble;
2- تبدیل انوع دادهها به کمک Convert:
Convert.ToBoolean, Convert.ToDouble, Convert.ToString, Convert.ToInt32 , Convert.ToInt64
مثال:
float f = 2.7e-20f;
double d_1 = 20.121399;
f = Convert.ToSingle(d_1);
3- تبدیل نوع داده رشته به انواع عددی:
double.Parse(), int.Parse(), float.Parse(), bool.Parse()
مثال:
string str = “CSharp is easy”;
double dblNum1;
dblNum1 = double.Parse(str);
ثابتها متغیرهایی هستند که مقادیریشان یک بار تعریف میشود و در طول برنامه قابل تغییر نیست متغیرهای ثابت با واژه کلیدی const مشخص میشوند.
مثال:
const double PI = ۳/۱۴;
انواع عملگرها
- عملگرهای حسابی: *, +, -, /, %, ++, —
- عملگرهای تخصیص: =, =+, =-, =/, =%, =*
- عملگرهای نسبی: ==, =!, >, <, =>, =<
- عملگرهای منطقی: &&, ||
- عملگر های بیتی: &, |, ^, !
عملگر ؟
مثال:
bool b = (name == “Sana” && password == “123”) ? true : false;
عملگر if
نحوه استفاده از عملگر:
if(عبارت شرط){مجموعه دستورها در صورت درستی عبارت شرط }
مثال:
if (b == true)
Console.WriteLine(“login”);
else
Console.WriteLine(“faild”);
}
روش استفاده از حلقه for:
for(افزایش یا کاهش اندیس ; شرط ; تخصیص مقدار اولیه به اندیس حلقه )
{
مجموعه دستورهای حلقه
}
مثال: چاپ اعداد فرد کوچکتر از ۱۰۰
for(byte i = 0; 2*i+1 < 100; i++ )
{
Console.WriteLine(2 * i + 1);
}
حلقه while
مثال ۱: حلقهای که فاکتوریل یک عدد را محاسبه میکند:
long fact = 1;
while (n != 1)
{
fact *= n; //fact = 1*4*3*2
–n;
}
مثال۲: حلقهای که مقسوم علیههای یک عدد را محاسبه میکند.
byte x = 1;
do {
if(num % x == 0)
{
Console.WriteLine(x);
}
x++;
} while (x <= num);
روش تعریف یک آرایه:
datatype[ ] arrayName = new datatype[length];
Datatype نوع دادههایی را نشان میدهد که آرایه در خود ذخیره میکند.arrayName نام آرایه است. Length طول آرایه است که به کامپایلر میگوید شما قصد دارید چه تعداد داده یا مقدار را در آرایه ذخیره کنید. از کلمه کلیدی new هم برای اختصاص فضای حافظه به اندازه طول آرایه استفاده میشود.
مثال:
int[ ] numbers = new int[5];
مقداردهی به آرایهها
روش ۱:
اصلاح مقادیر آرایه با استفاده از اندیسها:
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
روش ۲
مقداردهی اولیه بعد از تعریف:
int[ ] numbers = new int[5] { 1, 2, 3, 4, 5 };
int[ ] numbers = new int[ ] { 1, 2, 3, 4, 5 };
int[ ] numbers = { 1, 2, 3, 4, 5 };
روش ۳ دستیابی به مقادیر آرایه با استفاده از حلقه for:
int[ ] numbers = new int[5] ;
for (int i = 0; i < numbers.Length; i++)
numbers[i] = i;
حلقهforeach، ساختار تکراری در سی شارپ است که برای آرایهها، لیستها و مجموعهها طراحی شده است. حلقه foreach با هر بار گردش در بین اجزاء، مقادیر هر یک از آنها را در داخل یک متغیر موقتی قرار میدهد و میتوانید بواسطه این متغیر به مقادیر عناصر آرایه دسترسی پیدا کنید.
نحوه تعریف حلقه foreach
foreach (datatype temporaryVar in array)
{
code to execute;
}
مثال:
int[ ] numbers = { 1, 2, 3, 4, 5 };
foreach (int n in numbers)
{
Console.WriteLine(“Number {0}”, n);
یک تابع یا Function در C#، مجموعه ای از دستورات را درون یک ظرف مشخص قرار داده و در قسمتهای مختلف برنامه در دسترس است، با به کار بردن نام تابع فراخوانی میشود.
در زبان #C، یک تابع به صورت کلی زیر تعریف می شود :
< visibility > < return type > < name > ( < parameters > )
{
< function code >
}
مثال:
public int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}
سطح دسترسی یا visibility: چگونگی دسترسی به یک عنصر است.
- عمومی یا Public: کمترین محدودیت Visibility است و در این حالت دسترسی به عنصر در هر جایی ممکن است. نوع داده Enums و Interface ها به صورت پیش فرض public هستند.
- محافظت شده یا Protected: در این حالت عنصر فقط توسط عوامل کلاس خود یا کلاس هایی که از کلاس آن به ارث رفتهاند، قابل دسترس است.
- درونی یا internal در این حالت عنصر فقط درون پروژه جاری قابل دسترسی است.
- خصوصی یا Private در این حالت فقط اعضای همان کلاس امکان دسترسی به آیتم مورد نظر را دارند. این حالت دارای بیشترین میزان محدودیت بوده و Class ها و Struct ها به صورت پیش فرضprivateهستند.
return type نوع خروجی یا نوع بازگشتی متد است و میتواند یکی از انواع داده باشد که توسط return برمیگرداند. درصورتی که متد هیچ مقداری را برنگرداند نوع خروجی (بازگشتی) void تعریف میشود.
منظور از parameters لیستی از مقادیر ورودی متد است که در داخل پرانتز و در مقابل نام متد نوشته می شود. در این لیست نام و نوع هر پارامتر نوشته می شود. پارامتر ها با علامت کاما از یکدیگر جدا می شوند. وجود لیست پارامتر ها اختیاری است بدین معنا که ممکن است متدی هیچ گونه پارامتر ورودی نداشته باشد.
زمانی که متدی با کلمه static مشخص میشود، این متد خارج از نمونههای ساخته شده از آن کلاس قابل استفاده است. نوشتن کلمه کلیدی static برای متدها اختیاری است. در حال حاضر تمامی متدها زیر متد Main تعریف میشوند و باید از نوع static باشند، زیرا تنها متدهای static را میتوان از داخل متد Main فراخوانی کرد.
مثال:
تابعی بنویسید که تعین کند عدد دریافت شده از کاربر اول است یا خیر.
مثال:
تابعی بنویسید که حاصل تقسیم دو عدد دریافتی از کاربر را محاسبه کند.
در زبان های شی گرا کلاس یک نوع دادهی دلخواه میباشد که توسط برنامهنویس تعریف میشود.
اجزای کلاس شامل:
- اجزای داده ای: شامل فیلدها و propertyها
- اجزاء تابعی: شامل متدهای عضو کلاس
property ها معمولا اعضای Public یک کلاس هستند و مشخصهی اصلی آنها Accessorهای get و set است. از دیگر ویژگیهای propertyها هم این است که میتوان آنها را در یک اینترفیس تعریف کرد.
fieldها در واقع متغیرهای عضو یک کلاس هستند که به صورت مستقیم در خود کلاس تعریف میشوند و در سطح آن در دسترس هستند. اگر این متغیرها به صورت مستقیم داخل بدنه یک متد تعریف شوند به آنها local variable گفته میشود.
مثال:
نحوه تعریف کلاس Circle با متدهای area و perimeter و فیلد radius :
نحوه استفاده از کلاس Circle
سازنده یا constructor متدی از کلاس است که ۱- همنام کلاس است ۲- نوع برگشتی برای آن قید نمیشود.
سازنده ها امکان سربارگذاری را فراهم میسازند. در سربارگذاری توابع میتوان چندین تابع تعریف کرد که نام همه آنها یکسان باشد با این شرط که تعداد یا نوع پارامترهای ورودی آنها متفاوت باشد.
مثال: تعریف کلاس student با سربارگذاری سازنده آن
ساخت شی در کلاس با چند سازنده
Split رشته را به آرایه تبدیل میکند.
مثال:
Join برای تبدیل آرایه به رشته استفاده می شود.
Replace برای جایگزین کردن یک رشته در رشته دیگر استفاده می شود.
Trim فاصله ابتدا و انتهای رشته را حذف می کند.
Compare برای مقایسه دو رشته استفاده می شود. اگر دو رشته باهم برابر باشند مقدار ۰ را بر می گرداند و اگر رشته اولی از دومی بزرگتر باشد مقدار ۱ و اگر رشته دومی بزرگتر باشد مقدار -۱ را بر می گرداند.
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهنظرات
رایگان!

ثنا سلیمانی
طراح و توسعه دهنده وب سایتاز مهر 1390 تدریس در رشته کامپیوتر در مقطع کاردانی و کارشناسی .. از تابستان 1396 ثبت شرکت کاوش امن.. از 1396 تا 1399 طراحی و پیادهسازی شبکههای کامپیوتری و امنیت شبکه .. و از 1399 تا اکنون فعال در زمینه طراحی وب سایت و بازاریابی الکترونیکی
قوانین ثبت دیدگاه