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

آیدی ادمین:
@ma_limbs
Download Telegram
🔵 کوییز #سی_شارپ

🟣 موضوع : ‏استفاده از 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
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

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

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

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
‏در C#، استفاده از struct در generic collections مثل `List<T>` از Boxing جلوگیری می‌کنه. 💡

‏وقتی یک struct رو به یک `List<object>` اضافه می‌کنید، boxing رخ می‌ده. اما `List<MyStruct>` مستقیماً struct رو ذخیره می‌کنه و از تبدیل غیرضروری به object جلوگیری می‌کنه. 📦

‏این کارایی کد رو بالا می‌بره.

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#‎ در Azure Functions به دو صورت In-Process و Isolated قابل استفاده است. ☁️

‏حالت Isolated به شما اجازه می‌دهد از نسخه‌های جدیدتر .NET و وابستگی‌های ناسازگار با runtime اصلی Azure Functions استفاده کنید. این یعنی انعطاف‌پذیری بیشتر در انتخاب ابزارها و کتابخانه‌ها! 🛠️

‏در حالت In-Process، کد شما مستقیماً در فرایند Azure Functions اجرا می‌شود که محدودیت‌هایی دارد.

https://t.me/csharp7
‏ویژگی `[Flags]` در enumهای C# به شما امکان می‌دهد مقادیر enum را با عملگرهای بیتی ترکیب کنید. ⚙️ این یعنی می‌توانید یک متغیر از نوع enum داشته باشید که همزمان چند مقدار را در خود نگه دارد. این کار خوانایی و انعطاف‌پذیری کد را افزایش می‌دهد. 👍

https://t.me/csharp7
‏LINQ (Language Integrated Query) قابلیتی قدرتمند در #C است که امکان جستجو و دستکاری داده‌ها را به صورت یکپارچه و شبیه به کوئری‌های SQL فراهم می‌کند. این ویژگی در ابتدا در .NET Framework 3.5 معرفی شد و تحولی بزرگ در نحوه کار با مجموعه‌ها و منابع داده ایجاد کرد.

‏قبل از LINQ، برای کار با داده‌ها در زبان #C، معمولاً نیاز به استفاده از حلقه‌های تکرار و شرط‌های متعدد بود که کد را طولانی و گاهی پیچیده می‌کرد. LINQ با ارائه سینتکس کوئری و متدهای توسعه‌دهنده، این فرآیند را ساده‌تر و خواناتر کرده است.

‏سینتکس کوئری LINQ شباهت زیادی به SQL دارد و شامل کلماتی کلیدی مانند from، where، select، orderby و group by است. همچنین، LINQ متدهای توسعه‌دهنده (extension methods) مانند Where()، Select()، OrderBy() و GroupBy() را ارائه می‌دهد که می‌توانند به صورت زنجیره‌ای فراخوانی شوند.

‏LINQ تنها محدود به کار با آرایه‌ها و لیست‌ها نیست، بلکه از طریق پیاده‌سازی‌های مختلف مانند LINQ to SQL، LINQ to Entities و LINQ to XML، امکان کار با پایگاه‌های داده، سرویس‌های وب و فایل‌های XML را نیز فراهم می‌کند. این یکپارچگی، توسعه‌دهندگان را قادر می‌سازد تا با یک رویکرد واحد با انواع مختلف داده تعامل داشته باشند. 🚀💡

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

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏.NET 8 یه قابلیت جالب داره: Workloadهای جدید! 🛠️

‏با این قابلیت، می‌تونید موقع نصب .NET SDK، فقط ابزارهای مورد نیازتون رو انتخاب کنید. مثلاً اگه فقط می‌خواید با MAUI کار کنید، فقط workload مربوط به اون رو نصب می‌کنید. 📱💻

‏اینطوری حجم SDK کمتر میشه و مدیریتش هم آسون‌تره. 👌

https://t.me/dotnet7ir