آموزش C# و .Net
1.56K subscribers
467 photos
329 videos
19 files
2.88K 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
خوانایی کد، کلید موفقیت برنامه‌نویسیه! 🔑

‏یادتون باشه، پایتون یه فلسفه داره: Zen of Python! 🧘‍♂️

‏کافیه تو کنسول پایتون بنویسید `import this` تا با اصولش آشنا بشید.

‏کد تمیزتر = اشکال‌یابی آسون‌تر + همکاری بهتر! 👌

https://t.me/python7ir
‏قابلیت جالب `String.Create` در C#‎ 🚀

‏این متد به شما اجازه میده یه رشته رو مستقیماً از یه اسپَن (Span) از کاراکترها بسازید. اینطوری دیگه نیازی به تخصیص حافظه اضافی و کپی کردن اطلاعات ندارید. 👌

‏خیلی بهینه برای وقتی که میخواید یه رشته رو از یه بافر بزرگتر استخراج کنید.

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

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

🟢 سوال :

‏اولین مرحله در چرخه عمر توسعه نرم‌افزار (SDLC) چیست؟

گزینه ۱:
‏پیاده‌سازی (Implementation)

گزینه ۲:
‏طراحی (Design)

گزینه ۳:
‏تحلیل (Analysis)

گزینه ۴:
‏تست (Testing)



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

🟢 توضیح :

‏مرحله تحلیل (Analysis) اولین گام در SDLC است که در آن نیازمندی‌های کاربر و سیستم به طور دقیق جمع‌آوری و مستند می‌شوند. هدف درک کامل مسئله‌ای است که نرم‌افزار باید حل کند.

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

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

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

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

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏برای مدیریت امن داده‌های حساس در پایگاه داده با C#، هنگام حذف یا به‌روزرسانی رکوردها، از روش‌های پارامتریک (Parameterized Queries) استفاده کنید. این روش از تزریق SQL جلوگیری کرده و اطمینان حاصل می‌کند که فقط داده‌های مورد نظر تحت تأثیر قرار می‌گیرند.

‏به جای ساختن مستقیم رشته SQL، از پارامترها استفاده کنید:

‏// فرض کنید connection و command آماده هستند
command.CommandText = "DELETE FROM SensitiveData WHERE Id = @Id";
command.Parameters.AddWithValue("@Id", sensitiveDataId);
command.ExecuteNonQuery();


‏استفاده از AddWithValue یا Add با مشخص کردن نوع داده، امنیت را به طور قابل توجهی افزایش می‌دهد. این رویکرد تضمین می‌کند که ورودی کاربر به عنوان داده در نظر گرفته می‌شود، نه بخشی از دستور SQL. 🛡️🔒

https://t.me/csharp7
‏در C#، هنگام مدیریت استثناها، دو روش برای پرتاب مجدد استثنا وجود دارد: throw new Exception() و throw;.

‏استفاده از throw; توصیه می‌شود زیرا استثنای اصلی را با حفظ traceback کامل آن پرتاب می‌کند. این به شما امکان می‌دهد تا منبع دقیق خطا را در زمان اشکال‌زدایی پیدا کنید.

‏در مقابل، throw new Exception() یک استثنای جدید ایجاد می‌کند که traceback اصلی را از بین می‌برد و ردیابی خطا را دشوارتر می‌سازد.

‏مثال:

try
{
‏ // کدی که ممکن است استثنا ایجاد کند
‏ throw new ArgumentException("پارامتر نامعتبر");
}
catch (ArgumentException ex)
{
‏ // روش اول: استفاده از throw; (توصیه شده)
throw;

‏ // روش دوم: استفاده از throw new Exception() (توصیه نمی‌شود)
‏ // throw new Exception("خطایی رخ داده است", ex);
}


‏استفاده صحیح از throw; به حفظ شفافیت در گزارش خطاها کمک می‌کند. 🔍

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

🟣 موضوع : ‏کار با Tupleها در C#

🟢 سوال :

‏Tuple چیست؟

گزینه ۱:
‏یک نوع آرایه ثابت

گزینه ۲:
‏یک نوع داده برای تعریف چند مقدار با نام‌های دلخواه

گزینه ۳:
‏یک دیکشنری ثابت

گزینه ۴:
‏یک کلاس برای مدیریت رویدادها

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

🟢 توضیح :

‏Tuple یک نوع داده برای تعریف چند مقدار با نام‌های دلخواه است.

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

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

آدرس کانال اصلی :
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
‏استفاده از `ValueTask` در C# برای بهبود کارایی عملیات غیرهمزمان رایج است. 💡 اما حواستان به این نکته باشد: `ValueTask` فقط یک بار قابل `await` شدن است. استفاده مجدد از آن می‌تواند منجر به خطا شود.

‏بهترین شیوه: اگر احتمال استفاده مجدد از نتیجه عملیات غیرهمزمان وجود دارد، از `.AsTask()` برای تبدیل `ValueTask` به `Task` استفاده کنید. این کار از بروز مشکلات احتمالی جلوگیری می‌کند. ⚙️

https://t.me/csharp7
‏در C#، کالکشن‌ها (Collections) ساختارهای داده‌ای انعطاف‌پذیرتر و قدرتمندتری نسبت به آرایه‌ها (Arrays) هستند.

‏آرایه‌ها دارای اندازه ثابت هستند و پس از تعریف، نمی‌توان تعداد عناصر آن را تغییر داد. همچنین، آرایه‌ها فقط می‌توانند یک نوع داده مشخص را در خود ذخیره کنند.

‏کالکشن‌ها، که عمدتاً در فضای نام System.Collections و System.Collections.Generic قرار دارند، امکاناتی مانند تغییر اندازه پویا، اضافه کردن و حذف آسان عناصر، و پشتیبانی از انواع داده‌های مختلف (در کالکشن‌های جنریک) را فراهم می‌کنند.

‏برخی از انواع رایج کالکشن‌ها عبارتند از:
‏- List<T>: لیستی پویا که امکان افزودن، حذف و دسترسی به عناصر را فراهم می‌کند.
‏- Dictionary<TKey, TValue>: مجموعه‌ای از جفت‌های کلید-مقدار که دسترسی سریع به مقادیر بر اساس کلید را ممکن می‌سازد.
‏- HashSet<T>: مجموعه‌ای که فقط مقادیر منحصر به فرد را ذخیره می‌کند و از تکرار جلوگیری می‌کند.

‏استفاده از کالکشن‌ها معمولاً کدنویسی را ساده‌تر و خواناتر می‌کند، به خصوص زمانی که اندازه داده‌ها از قبل مشخص نیست یا نیاز به عملیات پیچیده‌تری روی داده‌ها وجود دارد. 🗂️💡
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

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

‏پس از شفاف‌سازی نیازها، نوبت به انتخاب معماری مناسب می‌رسد. معماری‌های رایج در C# شامل MVC (Model-View-Controller)، MVVM (Model-View-ViewModel) و Clean Architecture هستند. انتخاب معماری به پیچیدگی پروژه و تیم توسعه بستگی دارد.

‏همچنین، انتخاب فریم‌ورک و کتابخانه‌های مناسب نقش حیاتی در سرعت و کیفیت توسعه دارد. برای برنامه‌های وب، ASP.NET Core گزینه قدرتمندی است. برای برنامه‌های دسکتاپ، WPF یا WinForms مورد استفاده قرار می‌گیرند. برای توسعه بازی، Unity انتخاب رایجی است.

‏در نظر گرفتن ابزارهای توسعه مانند Visual Studio یا VS Code، و همچنین سیستم‌های کنترل نسخه مانند Git، از دیگر موارد مهم در آغاز یک پروژه C# هستند.

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

```csharp
class Animal { }
class Dog : Animal { }

class AnimalShelter {
public virtual Animal GetAnimal() { return new Animal(); }
}

class DogShelter : AnimalShelter {
public override Dog GetAnimal() { return new Dog(); } // Covariant
}
```

‏این قابلیت، انعطاف‌پذیری کد رو بالا می‌بره. 🐕‍🦺🐾

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#‎، استفاده از `Span<T>` و `ReadOnlySpan<T>` برای دستکاری آرایه‌ها و رشته‌ها بدون تخصیص حافظه جدید، عملکرد برنامه را به طور چشمگیری بهبود می‌بخشد.

این ساختارها، به‌ویژه در پردازش داده‌های حجیم یا عملیات مکرر، جایگزین بهینه‌تری نسبت به متدهای قدیمی‌تر مانند `Substring` هستند.

🚀 با استفاده از `Span<T>` و `ReadOnlySpan<T>`، از کپی‌کردن غیرضروری داده‌ها جلوگیری کرده و سرعت و کارایی کد خود را افزایش دهید.

https://t.me/csharp7
‏`AsEnumerable()` نوع داده رو به `IEnumerable<T>` تبدیل می‌کنه، یعنی فقط برای خواندن مناسبه.

‏`ToList()` یک لیست جدید می‌سازه و اطلاعات رو کپی می‌کنه. پس، تغییرات توی لیست اصلی، روی لیست جدید تاثیری نداره. سرعتش هم از `AsEnumerable()` بیشتره. 🚀

‏انتخاب با شماست! 😉

https://t.me/csharp7
‏در C#، توابع لامبدا می‌توانند با دو نوع بدنه تعریف شوند: بدنه عبارت (Expression Body) و بدنه بلوکی (Block Body).

‏بدنه عبارت برای توابع لامبدایی که فقط یک عبارت را برمی‌گردانند، استفاده می‌شود. این نوع بدنه، کد را کوتاه‌تر و خواناتر می‌کند.

‏مثال:
‏// بدنه عبارت
Func<int, int> square = x => x * x;

‏در این مثال، x => x * x یک تابع لامبدا با بدنه عبارت است که ورودی x را گرفته و مربع آن را برمی‌گرداند.

‏بدنه بلوکی برای توابع لامبدایی که نیاز به اجرای چندین دستور یا منطق پیچیده‌تر دارند، استفاده می‌شود. این نوع بدنه، مشابه بدنه متدهای معمولی با آکولاد {} است.

‏مثال:
‏// بدنه بلوکی
Func<int, int> addOneAndMultiply = x =>
{
int result = x + 1;
return result * 2;
};

‏در این مثال، x => { ... } یک تابع لامبدا با بدنه بلوکی است که ابتدا یک واحد به x اضافه کرده و سپس نتیجه را در 2 ضرب می‌کند.

‏انتخاب بین این دو نوع بدنه به پیچیدگی منطق تابع لامبدا بستگی دارد. برای سادگی، بدنه عبارت ارجحیت دارد. 🚀💡

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
This media is not supported in your browser
VIEW IN TELEGRAM
🔵 Eclipse - Content Assist

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

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

🟣 Eclipse

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

🟣 دوره آموزش Eclipse


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

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

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

آدرس وبسایت:
https://Tutorial24.ir