.NET | دات نت – Telegram
.NET | دات نت
286 subscribers
121 photos
7 videos
26 files
165 links
دنیای شگفت انگیز و جذاب دات نت رو زیر ذره‌بین می‌بریم و تجربه ها رو به اشتراک میذاریم

به جمع توسعه دهندگان دات نت خوش اومدی 🥰❤️


گروه: https://news.1rj.ru/str/dndevelopchat
Download Telegram
.NET | دات نت
Photo
🔴 - فرض کن یه متدی داری که async هست
تا قبل از سی شارپ 13، نمی تونستی توی این مدل متدها از چیزهایی مثل ref استفاده کنی. یعنی نمی تونستی یه پارامتر رو با ref بفرستی تو متد که مقدارش تغییر کنه. چون async وقتی به await می رسه، یه جورایی "مکث" می کنه، و بعد دوباره از همونجا ادامه میده. پس اگه تو اون وسط به حافظه ای اشاره کنی(ref همین کار رو می کنه)، ممکنه اون حافظه تغییر کرده باشه یا حتی وجود نداشته باشه!
🟢 - حالا سی شارپ 13 چیکار کرده؟
مایکروسافت اومده گفته:
ببین اگه واقعا نیاز داری از ref استفاده کنی، بیا تو یه تابع کوچیک داخل متدت (local function) ازش استفاده کن. اونجا مشکلی پیش نمیاد، چون تابع داخلی async نیست و اجرای پیوسته داره.
فرض کن میخوای توی یه async متد، مقدار یه عدد توی آرایه رو دو برابر کنی:
(تصویر)
این کد تو سی شارپ 13 کاملا اوکیه
اما اگه همینو تو سی شارپ 12 یا پایین تر بنویسی، خطا می گیری چون می گه " تو نمی تونی async از ref استفاده کنی!"
پس چی شد نتیجه؟
تو سی شارپ 13 می تونی تو متدهای async یا iterator ( اونایی که yield return دارن ) از ref استفاده کنی فقط اگه اون کد رو ببری تو یه تابع داخلی.
اینطوری هم سرعت اجرای کدت بالا می‌ره، هم محدودیت قدیمی حل می‌شه.

#CSharp13
#DotNet9
👍31
🟢 تحریم های Nuget و ChatGPT برداشته شد.🎉
3🥰1🎉1
اکستنشن تم DotNet Theme برای ویژوال استودیو

🎨 تمی اختصاصی برای توسعه‌دهندگان دات‌نت، با 16 استایل متفاوت و رنگ‌بندی‌های جذاب که محیط کاری شما رو در Visual Studio تغییر می‌ده. حالا دیگه کدنویسی در ویژوال استودیو حس و حال جدیدی پیدا می‌کنه!

📥 دانلود از Marketplace

🔗 سورس‌کد و اطلاعات بیشتر
🔥2🥰1
.NET | دات نت pinned «اکستنشن تم DotNet Theme برای ویژوال استودیو 🎨 تمی اختصاصی برای توسعه‌دهندگان دات‌نت، با 16 استایل متفاوت و رنگ‌بندی‌های جذاب که محیط کاری شما رو در Visual Studio تغییر می‌ده. حالا دیگه کدنویسی در ویژوال استودیو حس و حال جدیدی پیدا می‌کنه! 📥 دانلود از Marketplace…»
موتورِ جستجویِ رایگان و متن‌باز بدونِ نیاز به ثبت‌نام.
جستجو در اینترنت، یوتیوب، ردیت، مقالات آکادمیک و ... .
پشتیبانی از مدل‌هایِ
ـ Claude 3.7 Sonnet
ـ GPT 4o
ـ o4 mini
ـ Grok 3.0
ـ Gemini 2.5 pro
ـ Llama 4
و ... .
scira.ai
1
اکستنشن تم DotNetTheme حالا برای VS Code

بعد از استقبال از نسخه ویژوال استودیو، حالا DotNetTheme برای VS Code هم منتشر شد؛ با رنگ بندی های مدرن و هماهنگ، مخصوص یه تجربه‌ای لذت بخش تر در کدنویسی.

📥 دانلود از Marketplace

🔗 سورس کد و جزئیات بیشتر
2👏1
.NET | دات نت pinned «اکستنشن تم DotNetTheme حالا برای VS Code بعد از استقبال از نسخه ویژوال استودیو، حالا DotNetTheme برای VS Code هم منتشر شد؛ با رنگ بندی های مدرن و هماهنگ، مخصوص یه تجربه‌ای لذت بخش تر در کدنویسی. 📥 دانلود از Marketplace 🔗 سورس کد و جزئیات بیشتر»
“Truth can only be found in one place: the code.”
— Robert C. Martin

«حقیقت فقط در یک جا پیدا می‌شه: داخل کد.»
🎉 دوره آموزشی مایکروسافت با نام Generative AI for Beginners منتشر شده

🔗لینک

میخوام همین دوره رو زیرنویس فارسی بذارم و منتشر کنم، لطفاً نظرسنجی پایین شرکت کنید.
دوره آموزشی مایکروسافت Generative AI for Beginners در کجا منتشر کنم؟
Final Results
50%
همین کانال
0%
یوتیوب
50%
هردو
.NET | دات نت pinned «🎉 دوره آموزشی مایکروسافت با نام Generative AI for Beginners منتشر شده 🔗لینک میخوام همین دوره رو زیرنویس فارسی بذارم و منتشر کنم، لطفاً نظرسنجی پایین شرکت کنید.»
هوش مصنوعی برنامه‌نویس های جونیور رو بیکار نمیکنه، ولی شرکت شما را شاید!

🔗 لینک
با آی پی آمریکا برید لینک زیر و اشتراک مفتی Gemini Pro بگیرید

http://one.google.com/join/ai-student

ایمیل دانشجویی داشته باشید تا ۲۰۲۶ رایگان
برای آی پی هم با افزونه کروم Free VPN آمریکا رو انتخاب کنید
از Record برای ساخت DTO استفاده کن

🔥 در نسخه سی شارپ 9 نوع داده‌ای جدیدی به اسم record معرفی شد؛ نوعی که مخصوص مدل‌های داده‌ای immutable (تغییرناپذیر) طراحی شده و ویژگی‌هایی داره که اونو برای تعریف ساختارهایی مثل DTO (Data Transfer Object) یا تنظیمات ساده، به انتخابی فوق‌العاده تبدیل می‌کنه.

🧾 DTO چیه؟

🚀 DTOها فقط برای حمل داده استفاده می‌شن؛ یعنی اطلاعات رو بین لایه‌های مختلف یک برنامه جابه‌جا می‌کنن بدون اینکه منطق خاصی داخلشون باشه. این کار باعث می‌شه ساختارهای داخلی برنامه پنهان بمونن و وابستگی‌ها کاهش پیدا کنه.


چرا record انتخاب خوبی برای DTO هست؟

record ویژگی‌هایی داره که باعث می‌شه بهترین گزینه برای تعریف DTO باشه:

کد خلاصه‌تر و خواناتر: سینتکس ساده‌تری نسبت به class داره که خوندن و درک ساختار داده رو راحت‌تر می‌کنه.
تغییرناپذیری پیش‌فرض (Immutable):
به‌طور پیش‌فرض، فیلدهای record تغییر نمی‌کنن؛ این باعث می‌شه دیتا در طول مسیر انتقال دچار تغییر ناخواسته نشه. البته اگه بخوای، می‌تونی record قابل تغییر هم بسازی.
تولید خودکار متدهای مفید: متدهایی مثل Equals()، ToString()، و Deconstruct() به‌صورت خودکار ایجاد می‌شن؛ این یعنی کد کمتر، تست‌پذیری بیشتر، و مدیریت بهتر
👍3