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

آیدی ادمین:
@ma_limbs
Download Telegram
‏C#‎ حالا از intrinsicهای سخت‌افزاری برای vectorized کردن کد پشتیبانی می‌کنه! 🚀

‏یعنی چی؟ یعنی محاسبات روی داده‌های برداری (مثل تصاویر یا صدا) با سرعت خیلی بیشتری انجام می‌شه. مثلاً می‌تونید چند تا عدد اعشاری رو همزمان با یه دستورالعمل پردازش کنید. 🧮

‏این قابلیت با استفاده از System.Numerics.Vectors در دسترس هست و عملکرد برنامه‌هایی که محاسبات سنگین دارن رو به شکل چشمگیری بهبود می‌ده. 🎯

https://t.me/csharp7
‏در #C، اینترفیس `IAsyncDisposable` برای آزادسازی غیرهمزمان منابع استفاده می‌شه.

‏با ترکیب `using` و `await` می‌تونید کد خواناتری داشته باشید:

```csharp
await using (var resource = new MyAsyncResource())
{
// ...
}
```

‏این روش، معادل فراخوانی `DisposeAsync()` در پایان بلوک `using` به شکل غیرهمزمانه.

https://t.me/csharp7
‏برای تبدیل انواع داده‌های عددی در C# به رشته، چند روش وجود دارد. ساده‌ترین راه استفاده از متد ToString() است.

int number = 123;
string numberAsString = number.ToString(); // "123"

double pi = 3.14159;
string piAsString = pi.ToString(); // "3.14159"


‏روش دیگر استفاده از عملگر الحاق رشته (+) است. اگر یکی از عملوندها رشته باشد، عملوند دیگر نیز به رشته تبدیل می‌شود.

int count = 5;
‏string message = "تعداد آیتم‌ها: " + count; // "تعداد آیتم‌ها: 5"


‏برای کنترل بیشتر بر فرمت رشته، می‌توان از string.Format() یا string interpolation ($) استفاده کرد. این روش‌ها امکان تعیین دقت اعداد اعشاری، نمایش ارقام هزارگان و غیره را فراهم می‌کنند.

double price = 1234.567;
‏string formattedPrice = string.Format("قیمت: {0:C}", price); // مثال: "قیمت: 1,234.57 ﷼" (بسته به تنظیمات محلی)

int year = 2023;
‏string interpolatedString = $"سال جاری: {year}"; // "سال جاری: 2023"




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
‏یکی از مزایای کلیدی استفاده از الگوی MVVM در توسعه برنامه‌های WPF، افزایش قابلیت تست‌پذیری و نگهداری کد است.

‏در الگوی MVVM، منطق کسب‌وکار (ViewModel) از رابط کاربری (View) جدا می‌شود. این جداسازی به شما امکان می‌دهد تا ViewModel را به صورت مستقل از View تست کنید. این کار باعث می‌شود که تست‌های واحد (Unit Tests) شما قابل اعتمادتر باشند و بتوانید به سرعت مشکلات احتمالی را شناسایی و رفع کنید.

‏علاوه بر این، نگهداری کدی که از MVVM پیروی می‌کند، آسان‌تر است. زیرا تغییرات در رابط کاربری (View) تأثیر کمتری بر منطق برنامه (ViewModel) دارد و بالعکس. این امر به خصوص در پروژه‌های بزرگ که نیاز به به‌روزرسانی و توسعه مداوم دارند، بسیار ارزشمند است. 💻

‏// مثال ساده‌ای از ViewModel که قابل تست است
public class MyViewModel
{
public string Greeting { get; private set; } = "Hello";

public void SetGreeting(string name)
{
Greeting = $"Hello, {name}!";
}
}


https://t.me/csharp7
‏در WinForms، برای مدیریت رویدادها و جلوگیری از پیچیدگی کد، استفاده از الگوهای طراحی رایج است. یکی از این الگوها، Observer Pattern (الگوی ناظر) است که در آن یک شیء (Subject) لیستی از وابسته‌ها (Observers) را نگهداری می‌کند و هنگام تغییر وضعیت خود، همه وابسته‌ها را مطلع می‌سازد.

‏برای مثال، یک دکمه (Subject) می‌تواند رویداد کلیک خود را به چندین کنترل دیگر (Observers) اطلاع دهد تا هر کدام به نحوی به این رویداد واکنش نشان دهند. این کار باعث جداسازی منطق و افزایش قابلیت نگهداری کد می‌شود.

‏به طور کلی، درک و به‌کارگیری این الگوها در توسعه برنامه‌های دسکتاپ با WinForms، به خصوص در پروژه‌های بزرگتر، بسیار مفید است. 🚀💡

https://t.me/csharp7
💡 نکته #NoSQL

🟣 موضوع : Cache Aside Pattern

نکته :

‏بهترین موقع برای استفاده از Cache Aside Pattern وقتیه که اطلاعاتت زیاد خونده میشن ولی کم تغییر می کنن! 🔥💡


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

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

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

آدرس وبسایت:
https://Tutorial24.ir
‏در C#، کلاس Exception پایه، ابزار اصلی برای مدیریت و انتشار خطاها در برنامه است. هر خطایی که در زمان اجرای برنامه رخ می‌دهد، نمونه‌ای از یک کلاس مشتق شده از Exception است.

‏با پرتاب (throw) یک شیء Exception، شما به برنامه اطلاع می‌دهید که اتفاق غیرمنتظره‌ای رخ داده و اجرای عادی باید متوقف شود. این امکان را به بخش‌های دیگر برنامه می‌دهد تا این خطا را دریافت و مدیریت کنند.

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

try
{
‏ // کدی که ممکن است خطا رخ دهد
string content = System.IO.File.ReadAllText("nonexistent.txt");
}
catch (System.IO.FileNotFoundException ex)
{
‏ // مدیریت خطای پیدا نشدن فایل
‏ Console.WriteLine($"خطا: فایل مورد نظر یافت نشد. جزئیات: {ex.Message}");
}
‏catch (Exception ex) // گرفتن هر نوع خطای دیگری
{
‏ // مدیریت خطاهای عمومی‌تر
‏ Console.WriteLine($"یک خطای غیرمنتظره رخ داد: {ex.Message}");
}


‏استفاده صحیح از try-catch بلاک‌ها و پرتاب استثناها، خوانایی کد را بهبود بخشیده و مدیریت خطا را در برنامه‌های بزرگتر تسهیل می‌کند. 💥💡

https://t.me/csharp7
‏یکی از نکات مهم در برنامه‌نویسی ناهمگام C#، استفاده از ConfigureAwait(false) است. این متد در انتهای فراخوانی متدهای async و await به کار می‌رود و به کامپایلر می‌گوید که نیازی به بازگشت به زمینه (context) اصلی پس از اتمام عملیات ناهمگام نیست.

‏تأثیر اصلی ConfigureAwait(false) بر مدیریت استثناها در سناریوهای خاصی خود را نشان می‌دهد. هنگامی که این متد استفاده می‌شود، اگر استثنایی در طول اجرای عملیات ناهمگام رخ دهد، آن استثنا به صورت مستقیم به فراخوانی‌کننده بازگردانده می‌شود و نیازی به مدیریت آن در زمینه اصلی نیست. این امر می‌تواند به ساده‌سازی مدیریت خطا و جلوگیری از بروز مشکلاتی مانند Deadlock در برنامه‌هایی که از SynchronizationContext استفاده می‌کنند، کمک کند.

‏به طور خلاصه، استفاده از ConfigureAwait(false) نه تنها عملکرد برنامه را بهبود می‌بخشد، بلکه می‌تواند در مدیریت شفاف‌تر و کارآمدتر استثناها نیز نقش داشته باشد. 🚀💡

public async Task<string> GetDataAsync()
{
‏ // فرض کنید این متد یک عملیات I/O طولانی را انجام می‌دهد
var result = await SomeLongRunningOperationAsync().ConfigureAwait(false);
return result;
}


https://t.me/csharp7
Forwarded from محتوای برنامه نویسی کانال توتوریال tu
🔵 اپلیکیشن اندرویدی آموزش کامل 4000 لغت ضروری انگلیسی

📘 به مهم‌ترین واژگان زبان انگلیسی مسلط شو، درست همون‌هایی که واقعاً استفاده می‌شن!

اگر می‌خوای دایره لغاتت رو اصولی، ماندگار و کاربردی تقویت کنی، این دوره دقیقاً برای تو ساخته شده 👇

🎧 در این اپلیکیشن تمام لغات کتاب معروف 4000 Essential English Words به صورت فلش کارت های آموزشی آموزش داده می‌شن؛
طوری که معنی، کاربرد و مثال‌ها کاملاً تو ذهنت می‌مونه

ویژگی‌های دوره:


🔹 آموزش قدم‌به‌قدم تمام لغات کتاب
🔹 توضیح فارسی روان و قابل فهم
🔹 ایده‌آل برای یادگیری در مسیر، خانه یا محل کار


🚀 با 4000 لغت ضروری، پایه زبانت رو حرفه‌ای بساز!


📩 برای دانلود رایگان اپلیکیشن همین حالا از طریق مایکت یا کافه بازار اقدام کن:

👈 لینک دانلود از کافه بازار

👈 لینک دانلود از مایکت
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

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

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

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

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

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

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

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏AsyncLocal و ThreadLocal در C# دو روش برای نگهداری داده‌های خاص در یک context هستند.

‏ThreadLocal برای هر thread یک کپی مجزا از داده ایجاد می‌کند. 🧵
‏AsyncLocal مقدار را در طول جریان async، حتی بین thread-ها، حفظ می‌کند. 🔄

‏انتخاب بین این دو بستگی به نیاز شما به حفظ داده در طول عملیات async دارد.

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
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏C# قابلیتی داره به اسم Overflow Checking. ضرب و تقسیم اعداد صحیح (int, short, long و...) ممکنه از محدوده اون نوع داده خارج بشه.

‏حالت پیش‌فرض، Overflow نادیده گرفته میشه و نتیجه اشتباه برمی‌گرده. اما با دستور `checked` می‌تونید کاری کنید که در صورت Overflow، برنامه Exception بده و متوقف بشه. ⚠️

‏مثال:
```csharp
checked {
int max = int.MaxValue;
‏ int result = max + 1; // Overflow رخ میده و Exception پرتاب میشه
}
```

https://t.me/csharp7
💥 انتخاب با شماست! 💥

‏Blazor MAUI Hybrid یا MAUI خالص؟ 🤔

‏اگه وب‌کارید، Blazor MAUI Hybrid براتون عالیه! از همون کد #C و Razor استفاده کنید، فقط این‌بار برای اپلیکیشن موبایل و دسکتاپ! 📱💻

‏اما اگه دنبال بهترین پرفورمنس و دسترسی کامل به API های Native هستید، MAUI خالص انتخاب بهتریه. 💪

‏کدومش براتون مناسبه؟
#dotnet #maui #blazor

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

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

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

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

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

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

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

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

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

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

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
🔵 اپلیکیشن اندرویدی آموزش کامل 4000 لغت ضروری انگلیسی

📘 به مهم‌ترین واژگان زبان انگلیسی مسلط شو، درست همون‌هایی که واقعاً استفاده می‌شن!

اگر می‌خوای دایره لغاتت رو اصولی، ماندگار و کاربردی تقویت کنی، این دوره دقیقاً برای تو ساخته شده 👇

🎧 در این اپلیکیشن تمام لغات کتاب معروف 4000 Essential English Words به صورت فلش کارت های آموزشی آموزش داده می‌شن؛
طوری که معنی، کاربرد و مثال‌ها کاملاً تو ذهنت می‌مونه

ویژگی‌های دوره:


🔹 آموزش قدم‌به‌قدم تمام لغات کتاب
🔹 توضیح فارسی روان و قابل فهم
🔹 ایده‌آل برای یادگیری در مسیر، خانه یا محل کار


🚀 با 4000 لغت ضروری، پایه زبانت رو حرفه‌ای بساز!


📩 برای دانلود رایگان اپلیکیشن همین حالا از طریق مایکت یا کافه بازار اقدام کن:

👈 لینک دانلود از کافه بازار

👈 لینک دانلود از مایکت
‏حفاظت Antiforgery در Minimal APIs آسون‌تر از همیشه شده!🛡️

‏دیگه لازم نیست کلی کد بنویسی. .NET 8 به بعد، خودش اتوماتیک این مکانیزم امنیتی رو مدیریت می‌کنه. 😎

‏فقط کافیه سرویس‌ها رو ثبت کنی و تگ AntiforgeryToken رو به فرم‌هات اضافه کنی.

‏همین! خیالت راحت، دیگه حملات CSRF تهدیدی نیستن.
#dotnet #security #minimalapi

https://t.me/dotnet7ir