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

آیدی ادمین:
@ma_limbs
Download Telegram
‏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
‏دانستنی C#‎:

‏از C#‎ 9 به بعد، کلاس‌ها و استراکت‌ها می‌تونن Primary Constructor داشته باشن. 🏗️ دیگه نیازی نیست یه constructor جدا تعریف کنین و بعد پراپرتی‌ها رو مقداردهی اولیه کنین. همه چی تو تعریف کلاس انجام میشه! 😎

```csharp
public class Person(string name, int age)
{
public string Name { get; } = name;
public int Age { get; } = age;
}
```

‏این کد همون کار رو میکنه، ولی خیلی تمیزتره!

https://t.me/csharp7
‏آزمون‌پذیری (Testability) در C# به معنای طراحی کد به گونه‌ای است که بتوان آن را به راحتی تست کرد. این امر با استفاده از الگوهایی مانند تزریق وابستگی (Dependency Injection) و تفکیک مسئولیت‌ها (Separation of Concerns) تسهیل می‌شود.

‏ابزارهایی مانند NUnit و xUnit فریم‌ورک‌های محبوبی برای نوشتن تست‌های واحد (Unit Tests) در C# هستند. این تست‌ها به شما کمک می‌کنند تا بخش‌های کوچک و مجزای کد خود را به صورت مستقل آزمایش کنید.

‏پوشش کد (Code Coverage) معیاری است که نشان می‌دهد چه درصدی از کد شما توسط تست‌ها اجرا شده است. ابزارهایی مانند Coverlet یا قابلیت‌های داخلی Visual Studio می‌توانند به شما در اندازه‌گیری و بهبود پوشش کد کمک کنند. 📈

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

💡

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
‏.NET 10 متدهای تجمیع (Aggregation) جدیدی به LINQ اضافه کرده.

‏متدهایی مثل `TryAverage` و `TryMax` حالا مقادیر Nullable هم هندل می‌کنند و دیگه لازم نیست خودتون دستی چک کنید. 👌

‏اینطوری کدتون خواناتر و کم‌خطاتر میشه.

https://t.me/csharp7