آموزش C# و .Net
1.55K subscribers
429 photos
325 videos
19 files
2.8K links
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk

آیدی ادمین:
@ma_limbs
Download Telegram
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
‏در C#، آرایه‌ها ساختارهایی برای نگهداری مجموعه‌ای از عناصر با نوع داده یکسان هستند.

‏آرایه‌های چندبعدی (Multidimensional Arrays) به صورت جدولی با ابعاد مشخص تعریف می‌شوند. به عنوان مثال، یک آرایه دو بعدی (ماتریس) را می‌توان به این صورت تعریف کرد:

‏int[,] matrix = new int[3, 4]; // یک ماتریس 3x4


‏آرایه‌های پویای (Dynamic Arrays) که در C# با نام List<T> شناخته می‌شوند، قابلیت تغییر اندازه خودکار را دارند و نیازی به تعیین اندازه اولیه ندارند. این ساختار برای مواقعی که تعداد عناصر از قبل مشخص نیست، بسیار کاربردی است.

List<string> names = new List<string>();
names.Add("Ali");
names.Add("Reza");


List<T> از نظر عملکردی شبیه به آرایه‌هاست اما انعطاف‌پذیری بیشتری در مدیریت تعداد عناصر ارائه می‌دهد. 📚

https://t.me/csharp7
🔵 کوییز #سی_شارپ

🟣 موضوع : ‏استفاده از Dictionary و کلکسیون‌های مشابه

🟢 سوال :

‏کدام یک از موارد زیر یک مثال از کاربرد Dictionary است؟

گزینه ۱:
‏مدیریت پایگاه داده

گزینه ۲:
‏ذخیره و بازیابی تنظیمات پیکربندی برنامه

گزینه ۳:
‏محاسبات ریاضی پیچیده

گزینه ۴:
‏ایجاد انیمیشن‌های گرافیکی

🔵 گزینه صحیح: 2

🟢 توضیح :

‏ذخیره و بازیابی تنظیمات پیکربندی برنامه، یک مثال از کاربرد Dictionary است.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏C# 8.0، WebSocketStream رو معرفی کرد 🔌.

‏با این قابلیت، دیگه لازم نیست کل دیتا رو یکجا دریافت کنین. می‌تونین دیتا رو به صورت تکه تکه (Stream) بخونین و پردازش کنین ⚙️.

‏اینطوری، مصرف حافظه به شدت کم میشه و برای انتقال فایل‌های بزرگ یا دیتاهای real-time خیلی مناسبه 🚀.

https://t.me/csharp7
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...

عضو لیست جامع شوید:

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
💡 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏مدیریت Schema

نکته 1:
‏Schema (طرحواره) چیه؟ 🤔 مثل نقشه‌ی ساختمون دیتابیس تو می‌مونه! شامل تعریف تمام جدول‌ها، ایندکس‌ها و نماها (Views) است. 🗺️

نکته 2:
‏SQLite تمام اطلاعات Schema رو تو یه جدول سیستمی خاص به نام sqlite_master ذخیره می‌کنه. این جدول، فهرست محتوای دیتابیسه. 📜💡

نکته 3:
‏اگه می‌خوای Schema یه جدول رو ببینی، از دستور PRAGMA tableinfo(نامجدول) استفاده کن. این دستور جزئیات ستون‌ها رو بهت می‌ده. 🔍

نکته 4:
‏برای تغییر Schema (مثل اضافه کردن ستون جدید)، از دستور ALTER TABLE استفاده می‌کنی. اما این دستور تو SQLite یه کم محدوده. ⚠️

نکته 5:
‏اگه بخوای ستون رو حذف کنی یا نوع داده‌اش رو تغییر بدی، باید دستی یه جدول جدید با Schema مورد نظر بسازی، داده‌ها رو کپی کنی و جدول قدیمی رو حذف کنی. 🛠️🔥

نکته 6:
‏تو می‌تونی با استفاده از sqlite_master ببینی که SQLite از چه دستور CREATE TABLEی برای ساخت جدول تو استفاده کرده. یه جورایی سورس کد ساخت جدول! 📝

نکته 7:
‏برای اینکه مطمئن شی کلیدهای خارجی دارن کار می‌کنن، باید تو Schema تعریف بشن و حتماً با PRAGMA foreign_keys = ON فعال باشن. 🔒

نکته 8:
‏SQLite یه شماره نسخه (Schema Version) تو سربرگ دیتابیس نگه می‌داره. هر بار که Schema رو تغییر می‌دی، این نسخه آپدیت می‌شه. 🔢

نکته 9:
‏مدیریت Schema تو SQLite به دلیل سادگی موتور، یه کم سخته. به همین خاطر، بهتره از ابزارهای مهاجرت (Migration Tools) تو زبان برنامه‌نویسی‌ات استفاده کنی. 💻

نکته 10:
‏مواظب باش مستقیماً جدول sqlite_master رو دستکاری نکنی! این کار می‌تونه ساختار دیتابیس رو خراب کنه. برای تغییرات Schema، فقط از دستورات CREATE, DROP, و ALTER استفاده کن. 💥😎


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🌱🌱 نکته روز #HTML

🌿🌿 ‏تعریف عنوان با تگ <summary>: تگ <summary> درون تگ <details> قرار می‌گیرد و عنوان یا خلاصه‌ای از محتوای پنهان را ارائه می‌دهد. متن داخل <summary> همیشه قابل مشاهده است و با کلیک بر روی آن، محتوای <details> باز یا بسته می‌شود.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
‏در C#، پارامترهای اختیاری و پارامترهای با مقداردهی پیش‌فرض (Default Parameter Values) هر دو به متدها اجازه می‌دهند بدون نیاز به ارائه مقادیر برای همه پارامترها فراخوانی شوند. با این حال، تفاوت کلیدی در نحوه تعریف و کاربرد آن‌هاست.

‏پارامترهای اختیاری (Optional Parameters) با استفاده از کلمه کلیدی `optional` تعریف می‌شوند و تنها در زبان‌هایی مانند VB.NET وجود دارند، نه مستقیماً در C#. در C#، مفهوم مشابهی با استفاده از پارامترهای با مقداردهی پیش‌فرض پیاده‌سازی می‌شود.

‏پارامترهای با مقداردهی پیش‌فرض (Default Parameter Values) در C# به پارامترها مقداری را اختصاص می‌دهند که اگر هنگام فراخوانی متد، مقداری برای آن پارامتر ارسال نشود، از آن مقدار پیش‌فرض استفاده خواهد شد. این ویژگی باعث انعطاف‌پذیری بیشتر در فراخوانی متدها می‌شود.

‏مثال:
```csharp
void DisplayMessage(string message, int repeatCount = 1)
{
for (int i = 0; i < repeatCount; i++)
{
Console.WriteLine(message);
}
}

‏// فراخوانی با مقدار پیش‌فرض
DisplayMessage("Hello");

‏// فراخوانی با تعیین مقدار
DisplayMessage("World", 3);
```
🔵 کوییز #سی_شارپ

🟣 موضوع : ‏کار با رشته‌ها (String) در C#

🟢 سوال :

‏کدام یک از موارد زیر یک عیب استفاده از کلاس String است؟

گزینه ۱:
‏کاهش کارایی

گزینه ۲:
‏افزایش حجم کد

گزینه ۳:
‏رشته‌ها در C# تغییرناپذیر (immutable) هستند

گزینه ۴:
‏افزایش پیچیدگی کد

🔵 گزینه صحیح: 3

🟢 توضیح :

‏رشته‌ها در C# تغییرناپذیر (immutable) هستند، به این معنی که پس از ایجاد، نمی‌توان آنها را تغییر داد.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...

عضو لیست جامع شوید:

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
‏آرایه‌ها در C#، مجموعه‌ای مرتب از عناصری با نوع داده یکسان هستند. هر عنصر در آرایه با یک شاخص (index) منحصر به فرد قابل دسترسی است که از 0 شروع می‌شود.

‏تعریف آرایه:
‏int[] numbers; // تعریف یک آرایه از اعداد صحیح
‏string[] names = new string[5]; // تعریف و تخصیص حافظه برای آرایه 5 عنصری از رشته‌ها


‏ساختار و کاربرد:
‏پس از تعریف، می‌توان عناصر را مقداردهی کرد:
‏numbers = new int[3] { 10, 20, 30 }; // مقداردهی عناصر آرایه numbers

‏دسترسی به عناصر از طریق شاخص:
‏int firstNumber = numbers[0]; // دسترسی به اولین عنصر (10)
‏names[1] = "Alice"; // تخصیص مقدار به عنصر دوم آرایه names

‏آرایه‌ها برای ذخیره و پردازش مجموعه‌هایی از داده‌های مشابه بسیار کاربردی هستند. 📚💡

https://t.me/csharp7
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
‏در #C، آنالیز جریان Nullable از نسخه 8 به بعد، هوشمندتر شده. 🧠

‏کامپایلر الان می‌تونه تشخیص بده چه زمانی یک متغیر Nullable، مقداردهی شده و دیگه Null نیست. این یعنی دیگه لازم نیست همیشه از عملگر `!` (Null-forgiving) استفاده کنی! 👌

‏این بهبود، کد رو خواناتر و از خطاهای احتمالی جلوگیری می‌کنه.

https://t.me/csharp7
‏در C#، شما می‌توانید با استفاده از کلمه کلیدی throw استثناهای سفارشی خود را ایجاد و پرتاب کنید. این کار زمانی مفید است که می‌خواهید شرایط خاصی را که در کد شما رخ داده است، به طور واضح نشان دهید.

‏برای پرتاب یک استثنا، ابتدا باید یک نمونه از کلاس استثنا (مانند Exception یا کلاس‌های مشتق شده از آن) ایجاد کنید و سپس آن را با throw پرتاب نمایید.

‏مثال:
if (someCondition)
{
‏ throw new ArgumentNullException("parameterName", "پیام خطای سفارشی");
}

‏این روش به شما امکان می‌دهد تا کنترل بیشتری بر روی جریان برنامه خود داشته باشید و خطاهای منطقی را به طور موثر مدیریت کنید. 🚨💡

https://t.me/csharp7
‏حلقه do-while در C# مانند حلقه while شرط را در پایان بدنه حلقه بررسی می‌کند. این بدان معناست که کد داخل حلقه do-while حداقل یک بار اجرا می‌شود، حتی اگر شرط اولیه نادرست باشد.

‏ساختار کلی آن به این صورت است:

do
{
‏ // کدی که حداقل یک بار اجرا می‌شود
‏} while (شرط);


‏به عنوان مثال، برای چاپ اعداد از 1 تا 5:

int i = 1;
do
{
Console.WriteLine(i);
i++;
} while (i <= 5);


‏این حلقه ابتدا عدد 1 را چاپ می‌کند، سپس شرط i <= 5 را بررسی می‌کند. چون شرط برقرار است، حلقه ادامه یافته و تا زمانی که i بزرگتر از 5 شود، اجرا می‌شود. 🔢🔁

https://t.me/csharp7
‏در زبان C#، متغیرها انواع مختلفی دارند که بسته به نوع داده‌ای که قرار است ذخیره کنند، انتخاب می‌شوند.

‏- انواع مقداری (Value Types): این انواع مستقیماً داده را در خود ذخیره می‌کنند. مثال‌ها شامل int (عدد صحیح)، float (عدد اعشاری)، bool (مقدار منطقی) و struct هستند.
int age = 30;
bool isActive = true;


‏- انواع ارجاعی (Reference Types): این انواع به جای خود داده، به آدرس حافظه داده اشاره می‌کنند. مثال‌ها شامل string، class و array هستند.
string name = "Alice";
int[] numbers = { 1, 2, 3 };


‏انتخاب درست نوع متغیر در C# بر کارایی و نحوه مدیریت حافظه تأثیرگذار است. 🤔💡

https://t.me/csharp7
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
‏حلقه while در C# برای تکرار اجرای یک بلوک کد تا زمانی که یک شرط خاص برقرار باشد، استفاده می‌شود. این حلقه قبل از هر بار اجرای کد، شرط را بررسی می‌کند. اگر شرط برقرار باشد، کد داخل حلقه اجرا می‌شود و سپس دوباره شرط بررسی می‌شود. این روند تا زمانی که شرط برقرار است، ادامه می‌یابد.

‏مثال:
int count = 0;
while (count < 5)
{
‏ Console.WriteLine("تکرار شماره: " + count);
count++;
}

‏در این مثال، کد داخل حلقه تا زمانی که count کمتر از 5 باشد، اجرا می‌شود. 🔄💡

https://t.me/csharp7
‏در C#، برای دریافت نام دایرکتوری والد یک مسیر فایل یا دایرکتوری، می‌توانید از متد Path.GetDirectoryName() استفاده کنید. این متد یک رشته حاوی مسیر را به عنوان ورودی دریافت کرده و رشته‌ای حاوی مسیر دایرکتوری والد را برمی‌گرداند.

‏به عنوان مثال:

using System;
using System.IO;

public class Example
{
public static void Main(string[] args)
{
string filePath = @"C:\Users\Public\Documents\MyFile.txt";
string directoryName = Path.GetDirectoryName(filePath);
‏ Console.WriteLine($"دایرکتوری والد: {directoryName}");
‏ // خروجی: دایرکتوری والد: C:\Users\Public\Documents

string dirPath = @"C:\Program Files\MyApp\";
string parentDirName = Path.GetDirectoryName(dirPath);
‏ Console.WriteLine($"دایرکتوری والد: {parentDirName}");
‏ // خروجی: دایرکتوری والد: C:\Program Files
}
}


‏این قابلیت در مواقعی که نیاز به پیمایش در ساختار دایرکتوری‌ها یا انجام عملیات بر روی دایرکتوری والد دارید، بسیار مفید است. 📁💻

https://t.me/csharp7
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0