C# Geeks (.NET) – Telegram
Channel created
👋 سلام رفقا! خوش اومدین به کانال C# Geeks

اینجا قراره از صفرِ صفر، قدم‌به‌قدم با هم #C یاد بگیریم. هم چیزای پایه رو یاد می‌گیریم که همه بتونن راحت وارد دنیای برنامه‌نویسی بشن، هم یواش‌یواش میریم سراغ مباحث پیشرفته‌تر و خفن‌تر! 🔥

📚 هدفمون اینه که نه فقط آموزش خشک بدیم، بلکه نکات کاربردی، سوالات واقعی و تجربه‌های باحال رو هم با هم به اشتراک بذاریم. هرچی جلوتر بریم، مباحث جذاب‌تر و چالش‌برانگیزتر میشه!

💬 پس هر سوال، ابهام یا تجربه‌ای که داری رو بپرس و با ما درمیون بذار. با هم میریم جلو و قوی‌تر می‌شیم!

📌 منتظر اولین پست آموزشی باش 😉

🔖 هشتگ‌ها : #CSharpGeeks

string channel = "CSharpGeeks";
💻 سی شارپ (#C) چیه؟
سی شارپ یه زبان برنامه‌نویسی مدرن، چندمنظوره و شی‌گراست که توسط شرکت مایکروسافت ساخته شده. این زبان سال ۲۰۰۰ توسط «آندرس هلسبرگ» (Anders Hejlsberg) و تیم خفنشون معرفی شد تا توسعه‌دهنده‌ها بتونن باهاش نرم‌افزارهای قدرتمند و مقیاس‌پذیر برای پلتفرم‌های مختلف بسازن.

🌍 حوزه‌های کاربردی #C

🎮 بازی‌سازی: ساخت بازی‌های 2D، 3D و حتی واقعیت افزوده و واقعیت مجازی با موتور قدرتمند Unity

🌐 وب: توسعه سایت‌ها و اپلیکیشن‌های وب سریع و حرفه‌ای با ASP.NET Core

🖥 دسکتاپ: ساخت اپلیکیشن‌های دسکتاپ با Windows Forms و WPF (برای ویندوز)

📱 موبایل کراس‌پلتفرم: توسعه اپ‌های اندروید و iOS با Xamarin و حالا MAUI

☁️ کلود (ابر): ساخت اپلیکیشن‌های ابری و سرویس‌های مقیاس‌پذیر با Azure

🤖 هوش مصنوعی و یادگیری ماشین: استفاده از ML.NET برای پیاده‌سازی مدل‌های یادگیری ماشین

🔌 اینترنت اشیا (IoT): کنترل و اتصال به دستگاه‌های هوشمند با سی شارپ

🔗میکروسرویس‌ها و API : توسعه وب API ها و سرویس‌های تحت وب سریع و مقیاس‌پذیر

🔖 هشتگ‌ها : #سی_شارپ_چیست

string channel = "CSharpGeeks" ;
💻 اولین برنامه (C# - A First C# Program)
سلام رفقا! تو این پست می‌خوایم اولین برنامه ساده #C رو بررسی کنیم.این برنامه از دو خط ساده تشکیل شده:

int x = 12 * 30; // Statement 1
System.Console.WriteLine(x); // Statement 2


Statement 1

عبارت 12 * 30 محاسبه میشه و نتیجه‌اش (360) داخل متغیر x از نوع int (عدد صحیح 32 بیتی) ذخیره میشه.


Statement 2

متد WriteLine از کلاس Console (که داخل فضای نام System هست) مقدار x رو توی پنجره کنسول چاپ می‌کنه.
📚 ساختار کلی برنامه #C
کدها توی #C به صورت بیان‌ها (Statements) نوشته میشن که با ; تموم میشن.

متدها مثل WriteLine توابعی هستن که داخل کلاس‌ها قرار دارن. کلاس‌ها هم کدها و داده‌ها رو دسته‌بندی می‌کنن.

کلاس Console مخصوص کار با ورودی و خروجی خط فرمانه و تو فضای نام System قرار داره.

🌐 فضاهای نام (Namespace)
فضای نام System شامل کلاس‌های پایه مثل Console هست.

استفاده از System.Console تو هر بار صدا زدن می‌تونه خسته‌کننده باشه. برای همین می‌تونیم بالای کد این خط رو اضافه کنیم:
using System;


و بعدش ساده‌تر بنویسیم:
Console.WriteLine(x);
🧱 بازنویسی برنامه با متد شخصی:
می‌تونیم کد رو حرفه‌ای‌تر کنیم و یه متد بنویسیم که این محاسبه رو انجام بده:
using System;

Console.WriteLine(FeetToInches(30)); // 360
Console.WriteLine(FeetToInches(100)); // 1200

int FeetToInches(int feet)
{
int inches = feet * 12;
return inches;
}

این متد FeetToInches یه ورودی می‌گیره و خروجی برمی‌گردونه. ورودی اسمش feet و خروجی هم تعداد اینچ‌هاست.
😎بدون ورودی و خروجی؟ مشکلی نیست!
مثلاً این مثال ساده:
using System;
SayHello();

void SayHello()
{
Console.WriteLine("Hello, world");
}
دستور ساخت پروژه کنسول جدید:
dotnet new console -n ProgramName


برای اجرای برنامه از پوشه پروژه:
dotnet run ProgramName


یا فقط کامپایل بدون اجرا:
dotnet build ProgramName
.csproj


💬 نگران نباش! اگه الان چیزی از این کدها نفهمیدی اصلاً اشکال نداره! 😎 چون تو پست‌های بعدی، دونه دونه همه‌ی این بخش‌ها رو به‌زبون ساده توضیح می‌دیم و با مثال‌های بیشتر یاد می‌گیری.

🔖 هشتگ‌ها :
#اولین_برنامه
#CSharp_پایه
#برنامه_نویسی
🚀 ساختار زبان برنامه نویسی (Syntax) در #C :

سلام به همه گیک‌های #C 🤓 تا حالا به این فکر کردید که چطور زبان #C کدهای ما رو می‌فهمه و اجرا می‌کنه؟ همه چیز برمی‌گرده به Syntax!
در این پست، می‌خوایم عناصر اساسی سینتکس #C رو بررسی کنیم که از C و ++C الهام گرفته.

بیاین با این تکه کد ساده شروع کنیم:
using System;
int x = 12 * 30;
Console.WriteLine (x);

این چند خط، دنیایی از مفاهیم سینتکسی رو در خودشون جا دادن!
--شناسه‌ها(Identifiers):
نام‌هایی هستند که ما برنامه‌نویس‌ها انتخاب می‌کنیم. مثلاً در کد بالا، System، x، Console و WriteLine همگی شناسه هستند.

-- قواعد مهم: به بزرگی و کوچکی حروف حساس‌اند (case-sensitive).

--کنوانسیون نام‌گذاری:

Camel Case (myLocalVariable)

برای پارامترها، متغیرهای محلی و فیلدهای خصوصی.

Pascal Case (MyLocakMethod)

برای بقیه شناسه‌ها (کلاس‌ها، متدها، Propertyها).

--کلمات کلیدی(Keywords):
واژه‌هایی هستند که برای کامپایلر معنی خاص و از پیش تعریف شده‌ای دارن. در مثال ما، using و int کلمات کلیدی هستند.

--کلمات کلیدی رزرو شده: بیشتر کلمات کلیدی #C رزرو شده‌اند و نمی‌توانید از آن‌ها به عنوان شناسه‌ی معمولی استفاده کنید. (مثل class, public, if, for و ...).

نکته باحال : اگر واقعاً مجبور شدید، می‌توانید با قرار دادن @ قبل از کلمه کلیدی، از آن به عنوان شناسه استفاده کنید:

int @using = 123;


کلمات کلیدی متنی(Contextual Keywords):
یک سری کلمات کلیدی هستند که در برخی زمینه‌ها معنی خاصی دارند ولی می‌توانید از آن‌ها به عنوان شناسه هم استفاده کنید، چون ابهامی ایجاد نمی‌کنند (مثل var, async, await, yield).
--لیترال‌ها(Literals):
داده‌های خام و ثابتی که مستقیماً در کد وارد می‌کنیم. در مثال بالا، 12 و 30 لیترال‌های عددی هستند.

--علامت‌های نگارشی(Punctuators):
به ساختار و خوانایی کد کمک می‌کنند. بارزترین مثال، سمی‌کالن (;) است که یک دستور رو به پایان می‌رسونه.

--عملگرها (Operators):
عملیات خاصی روی مقادیر(Operands) انجام میدن. در کد مثال ما، این عملگرها رو داریم:

= : عملگر انتساب (Assignment) که یک مقدار رو به یک متغیر اختصاص میده.

* : عملگر ضرب (Multiplication).


. : عملگر عضو (Member Access) برای دسترسی به اعضای یک کلاس یا شیء (مثل Console.WriteLine).

() : پرانتزها که برای فراخوانی متدها استفاده میشن. اگه متدی آرگومان نگیره، پرانتزها خالی میمونن.


🔖 هشتگ‌ها : #Syntax
📝 کامنت‌گذاری در #C:

سلام به گیک‌های منظم و آینده‌نگر!🧑‍💻
وقتی داریم کد می‌نویسیم، ممکنه یه جاهایی نیاز داشته باشیم توضیحاتی برای خودمون یا هم‌تیمی‌هامون بذاریم. اینجاست که کامنت‌ها (Comments) وارد عمل میشن! کامنت‌ها خطوطی از کد هستن که کامپایلر #C اصلاً بهشون کاری نداره و فقط برای ما برنامه‌نویس‌ها معنی دارن تا کد رو بهتر درک کنیم.

سی شارپ دو مدل کامنت‌گذاری اصلی و پرکاربرد داره که بهمون کمک می‌کنه کدمون همیشه خوانا و قابل فهم باشه:
1️⃣ کامنت‌های تک‌خطی:

(Single-Line Comments) //


کاربرد: بهترین گزینه برای توضیح یک خط کد
خاص، یا ارائه یک نکته کوتاه و مختصر.

نحوه استفاده: با دو تا اسلش رو به جلو (//) شروع میشه و تا پایان همون خط ادامه پیدا می‌کنه.

مثال کاربردی:
int counter = 0;  // This is a Comment

این کامنت‌ها برای وقتی که می‌خواید سریعاً یه توضیح کوچیک کنار کدتون بنویسید، فوق‌العاده‌ان!
2️⃣ کامنت‌های چندخطی:
(Multiline Comments) /* ... */


کاربرد: ایده‌آل برای توضیحات طولانی‌تر، شرح دادن یک بلوک کد بزرگ، یا حتی غیرفعال کردن موقتی چند خط کد.

نحوه استفاده: با /* شروع میشه و با */ به پایان می‌رسه و می‌تونه شامل چندین خط باشه.
مثال کاربردی‌تر:
/*
این بخش از کد مسئول محاسبه
مجموع اعداد ۱ تا ۱۰ است.
از یک حلقه for برای این کار استفاده شده.
*/
int sum = 0;
for (int i = 1; i <= 10; i++)
{
sum += i;
}

این کامنت‌ها زمانی به کار میان که نیاز به توضیح عمیق‌تر یا خلاصه‌ای از عملکرد یک بخش بزرگ‌تر از کد دارید.
💡نکته حرفه‌ای:
کامنت‌گذاری هوشمندانه، نه تنها کد شما رو برای بقیه (و خودتون در آینده!) مثل روز روشن می‌کنه، بلکه یک مستندسازی داخلی ارزشمند برای پروژه‌های بزرگ محسوب میشه. سعی کنید کامنت‌ها رو همیشه به‌روز نگه دارید و از کامنت‌های تکراری و بی‌فایده پرهیز کنید.
🔖 هشتگ‌ها : #Comments