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

آیدی ادمین:
@ma_limbs
Download Telegram
‏در C#، رابط‌ها (Interfaces) قراردادهایی برای کلاس‌ها تعریف می‌کنند. کلاس‌ها می‌توانند یک یا چند رابط را پیاده‌سازی کنند و ملزم به ارائه پیاده‌سازی برای تمام متدهای تعریف شده در آن رابط هستند. این امر امکان چندریختی را فراهم می‌کند.

‏وراثت (Inheritance) به کلاس‌ها اجازه می‌دهد تا ویژگی‌ها و متدهای کلاس والد را به ارث ببرند و کلاس‌های جدیدی را بر اساس کلاس‌های موجود بسازند. این رویکرد، کد را قابل استفاده مجدد می‌کند.

‏پلی‌مورفیسم (Polymorphism) یا چندشکلی، به اشیاء مختلف اجازه می‌دهد تا به یک پیام یکسان، پاسخ‌های متفاوتی بدهند. این قابلیت از طریق وراثت و رابط‌ها در C# به دست می‌آید و انعطاف‌پذیری بالایی به برنامه‌ها می‌بخشد. 💻🚀

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

🟣 موضوع : ‏استفاده از آرایه‌ها و آرایه‌های چندبعدی

🟢 سوال :

‏کدام یک از موارد زیر یک ویژگی آرایه‌ها است؟

گزینه ۱:
‏تغییرپذیری (Mutability)

گزینه ۲:
‏وراثت (Inheritance)

گزینه ۳:
‏اندازه ثابت و دسترسی سریع به عناصر

گزینه ۴:
‏استفاده از حلقه‌های for

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

🟢 توضیح :

‏آرایه‌ها اندازه ثابت و دسترسی سریع به عناصر را فراهم می‌کنند.

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

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

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

آدرس وبسایت:
https://Tutorial24.ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏در C#، برای بازگرداندن چندین مقدار از یک تابع یا متد، می‌توان از ساختارهای struct یا tuple استفاده کرد.

‏استفاده از Struct:
‏با تعریف یک struct، می‌توانید چندین فیلد را در یک نوع واحد گروه‌بندی کرده و آن struct را از متد بازگردانید.

public struct PointInfo
{
public int X;
public int Y;
public string Label;
}

public PointInfo GetPointData()
{
return new PointInfo { X = 10, Y = 20, Label = "Start" };
}

‏// مثال استفاده:
PointInfo data = GetPointData();
Console.WriteLine($"X: {data.X}, Y: {data.Y}, Label: {data.Label}");


‏استفاده از Tuple:
Tuple یک راه ساده‌تر و بدون نیاز به تعریف نوع جدید برای گروه‌بندی چندین مقدار است. از نسخه ۷ به بعد C#، ValueTuple (که با سینتکس (int, int, string) نمایش داده می‌شود) برای کارایی بهتر توصیه می‌شود.

public (int X, int Y, string Label) GetPointTuple()
{
return (10, 20, "Start");
}

‏// مثال استفاده:
var tupleData = GetPointTuple();
Console.WriteLine($"X: {tupleData.X}, Y: {tupleData.Y}, Label: {tupleData.Label}");


‏هر دو روش به شما امکان می‌دهند تا به صورت سازمان‌یافته چندین نتیجه را از یک متد دریافت کنید. 🚀💡

https://t.me/csharp7
‏ExceptionDispatchInfo قابلیتی در C# است که به شما اجازه می‌دهد یک Exception را در یک thread دیگر، بدون از دست دادن Stack Trace اصلی، مجدداً throw کنید. این کار برای مدیریت خطاها در عملیات Async یا Parallel بسیار مفید است.

‏تصور کنید یک Task با خطا مواجه می‌شود؛ ExceptionDispatchInfo به شما کمک می‌کند دقیقاً همان خطا را با همان اطلاعات، در thread اصلی دریافت کنید. ⚙️

‏به این ترتیب، Debug کردن بسیار آسان‌تر می‌شود! 🐛

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
🎯 تفاوت Mac Catalyst و Native macOS در .NET چیه؟ 🤔

‏Catalyst یه پل ارتباطیه! اپ iOS/iPadOS رو به macOS میاره. 🍎 سریع و آسونه، اما ممکنه بهینگی Native رو نداشته باشه.

‏اپ Native macOS اختصاصاً برای سیستم‌عامل macOS ساخته شده. 💻 عملکرد بهتری داره، اما توسعه‌اش زمان‌برتره.

‏انتخاب با شماست! سرعت یا قدرت؟ 💪
#dotnet #maccatalyst #macos

https://t.me/dotnet7ir
‏حلقه foreach در C# ابزاری قدرتمند برای پیمایش و دسترسی به عناصر مجموعه‌هاست. این حلقه به طور خودکار بر روی تمام اعضای یک مجموعه، از جمله آرایه‌ها، لیست‌ها، دیکشنری‌ها و سایر انواع قابل پیمایش (IEnumerable) عمل می‌کند.

‏نکته کلیدی foreach این است که نیازی به مدیریت اندیس یا شمارنده ندارید. این حلقه به طور خودکار عنصر فعلی را در اختیار شما قرار می‌دهد.

‏مثال استفاده با یک آرایه:
‏string[] names = { "علی", "رضا", "مریم" };
foreach (string name in names)
{
Console.WriteLine(name);
}


‏و با یک لیست:
List<int> numbers = new List<int> { 10, 20, 30 };
foreach (int number in numbers)
{
Console.WriteLine(number * 2);
}


foreach همچنین با دیکشنری‌ها کار می‌کند و به شما امکان می‌دهد به کلیدها و مقادیر دسترسی داشته باشید:
Dictionary<string, int> ages = new Dictionary<string, int>
{
‏ { "علی", 30 },
‏ { "سارا", 25 }
};

foreach (KeyValuePair<string, int> entry in ages)
{
‏ Console.WriteLine($"نام: {entry.Key}, سن: {entry.Value}");
}




https://t.me/csharp7
‏EF Core 9 و 10 خبرهای خوبی براتون داره! 😎

‏Batching تو آپدیت و حذف رکوردها خیلی بهتر شده. دیگه خبری از N تا دستور جداگانه نیست!

‏فرض کن 1000 تا رکورد رو میخوای آپدیت کنی، قبلا 1000 تا دستور SQL اجرا میشد 🤯، اما حالا EF Core اینا رو دسته بندی میکنه و توی چندتا دستور خلاصش میکنه 🚀.

‏نتیجه؟ سرعت بیشتر و فشار کمتر روی دیتابیس! 👍
#EFCore #dotnet #batching

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

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، 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
📖 سرفصل : ‏معماری SQLite

نکته 1:
‏معماری SQLite طوری طراحی شده که کل دیتابیس فقط یه فایل روی دیسکه؛ ساده و جمع‌وجور 💡

نکته 2:
‏هسته SQLite یه موتور SQL کامل داره که بدون نیاز به سرویس جداگانه اجرا می‌شه 🔥

نکته 3:
‏پردازش کوئری‌ها توی خود برنامه انجام می‌شه چون SQLite کتابخونه‌ست نه سرور مستقل 📚

نکته 4:
‏لایه ذخیره‌سازی SQLite از ساختار صفحات (Pages) استفاده می‌کنه تا سریع و کارآمد داده‌ها رو بخونه 📄

نکته 5:
‏کل معماریش روی اصول ACID بنا شده، یعنی تراکنش‌ها امن و قابل اعتمادن 🔒💡

نکته 6:
‏SQLite از B-Tree برای ذخیره‌سازی جداول و ایندکس‌ها استفاده می‌کنه؛ سریع و دقیق 📊

نکته 7:
‏مدل قفل‌گذاریش مبتنی بر فایل‌ـه، پس برای هم‌زمانی سبک خوبه ولی برای کاربرهای زیاد محدود می‌شه ⚠️🔥

نکته 8:
‏به خاطر معماری کتابخانه‌ای، می‌تونی SQLite رو داخل هر برنامه‌ای جاسازی کنی بدون نیاز به تنظیمات اضافه 🧩💡

نکته 9:
‏SQLite حافظه رو هوشمندانه مصرف می‌کنه و حتی روی سیستم‌های ضعیف هم خیلی خوب اجرا می‌شه 🚀

نکته 10:
‏معماری ساده ولی حرفه‌ایش باعث شده بیش از ۳ میلیارد دستگاه ازش استفاده کنن؛ قابل‌اعتماد و امتحان‌پس‌داده 🙌🔥


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

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

آدرس کانال اصلی :
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
🔵 کوییز #سی_شارپ

🟣 موضوع : ‏استفاده از enum برای تعریف مجموعه‌ای از ثابت‌ها

🟢 سوال :

‏کدام یک از موارد زیر یک روش برای تعریف مقادیر enum با مقادیر عددی مشخص است؟

گزینه ۱:
public enum MyEnum { A = 1, B = 2 }

گزینه ۲:
public enum MyEnum { A, B }

گزینه ۳:
public enum MyEnum { A = "1", B = "2" }

گزینه ۴:
public enum MyEnum { A = true, B = false }

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

🟢 توضیح :

‏مقادیر enum می‌توانند با مقادیر عددی مشخص تعریف شوند.

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

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

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

آدرس وبسایت:
https://Tutorial24.ir
This media is not supported in your browser
VIEW IN TELEGRAM
🔵 Eclipse - Formatting Code

🟢 کیفیت : متوسط

🔴 توجه کنید این ویدیو با کیفیت متوسط می باشد. طی روزهای آینده نسخه های متفاوت با کیفیت بالاتر یا کم حجم تر از این نسخه در کانال قرار داده خواهد شد.

🟣 Eclipse

🟢 زبان آموزش: انگلیسی

🟣 دوره آموزش Eclipse


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

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

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

آدرس وبسایت:
https://Tutorial24.ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :

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

🟣 موضوع : ‏تعریف کلاس‌های انتزاعی (Abstract Classes)

🟢 سوال :

‏کدام یک از موارد زیر یک روش صحیح برای تعریف یک کلاس انتزاعی است؟

گزینه ۱:
public void MyAbstractClass() { }

گزینه ۲:
public abstract class MyAbstractClass { }

گزینه ۳:
public MyAbstractClass() { }

گزینه ۴:
public static class MyAbstractClass { }

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

🟢 توضیح :

‏کلاس‌های انتزاعی با استفاده از کلمه کلیدی abstract تعریف می‌شوند.

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

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

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

آدرس وبسایت:
https://Tutorial24.ir
‏C#‌‎: برای تجزیه رشته‌ها با کارایی بالا، از `Span<T>` استفاده کنید. دیگه نیازی به تخصیص حافظه اضافی برای برش رشته‌ها نیست! ✂️

‏به جای `string.Substring()` که یک کپی از رشته ایجاد می‌کنه، از `AsSpan()` برای دسترسی مستقیم به بخش مورد نظر استفاده کن. اینطوری سرعت و حافظه بهینه‌تر میشه. 🚀

‏مثال: `ReadOnlySpan<char> name = myString.AsSpan(startIndex, length);`

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
‏در #C، دستکاری مستقیم بیت‌ها با عملگرهای `&`، `|`، `^` و `~` رایج است. ⚙️

‏اما کلاس `BitOperations` در `System.Numerics` (نیازمند افزودن رفرنس) توابع بهینه‌تری برای عملیات بیتی ارائه می‌دهد. 🔥

‏به‌خصوص برای مواردی مثل شمارش تعداد بیت‌های یک، شیفت چرخشی و بررسی توانی از دو بودن یک عدد. استفاده از این کلاس می‌تواند منجر به بهبود کارایی شود. 🚀

https://t.me/csharp7
🔵 کوییز #مفاهیم_کلی_برنامه_نویسی

🟣 موضوع : ‏تاریخچه برنامه‌نویسی: تکامل زبان‌ها و محیط‌های برنامه‌نویسی

🟢 سوال :

‏کدام یک از موارد زیر یک محیط توسعه یکپارچه (IDE) محبوب برای توسعه برنامه‌های جاوا است؟

گزینه ۱:
‏ویژوال استودیو (Visual Studio)

گزینه ۲:
‏اکلیپس (Eclipse)

گزینه ۳:
‏بورلند توربو پاسکال (Borland Turbo Pascal)

گزینه ۴:
‏اندروید استودیو (Android Studio)



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

🟢 توضیح :

‏اکلیپس (Eclipse) یک محیط توسعه یکپارچه (IDE) محبوب برای توسعه برنامه‌های جاوا است.

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

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

آدرس کانال اصلی :
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