🔵 کوییز #سی_شارپ
🟣 موضوع : بررسی مفاهیم Default Interface Methods
🟢 سوال :
هدف اصلی Default Interface Methods چیست؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
افزایش قابلیت توسعه رابطها بدون شکستن کد موجود
گزینه ۳:
مدیریت پایگاه داده
گزینه ۴:
ایجاد رابط کاربری گرافیکی
🔵 گزینه صحیح:2
🟢 توضیح :
هدف اصلی Default Interface Methods، افزایش قابلیت توسعه رابطها بدون شکستن کد موجود است.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : بررسی مفاهیم Default Interface Methods
🟢 سوال :
هدف اصلی Default Interface Methods چیست؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
افزایش قابلیت توسعه رابطها بدون شکستن کد موجود
گزینه ۳:
مدیریت پایگاه داده
گزینه ۴:
ایجاد رابط کاربری گرافیکی
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
💡 کامپایلر C# میتونه بعضی از کوئریهای LINQ رو در زمان کامپایل بهینه کنه.
🔍 اگه از LINQ روی آرایهها یا لیستهای ثابت استفاده کنی، کامپایلر ممکنه کل کوئری رو ارزیابی و نتیجه رو مستقیماً در کد قرار بده!
🚀 این بهینهسازی باعث افزایش سرعت اجرا و کاهش سربار در زمان اجرا میشه.
https://t.me/csharp7
🔍 اگه از LINQ روی آرایهها یا لیستهای ثابت استفاده کنی، کامپایلر ممکنه کل کوئری رو ارزیابی و نتیجه رو مستقیماً در کد قرار بده!
🚀 این بهینهسازی باعث افزایش سرعت اجرا و کاهش سربار در زمان اجرا میشه.
https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
🔵 کوییز #سی_شارپ
🟣 موضوع : کار با Attributes و ایجاد Attributeهای سفارشی
🟢 سوال :
Attribute چیست؟
گزینه ۱:
یک روش برای مدیریت حافظه
گزینه ۲:
یک راه برای افزودن فراداده (Metadata) به کد
گزینه ۳:
یک روش برای مدیریت پایگاه داده
گزینه ۴:
یک روش برای ایجاد رابط کاربری گرافیکی
🔵 گزینه صحیح:2
🟢 توضیح :
Attribute راهی برای افزودن فراداده (Metadata) به کد است.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کار با Attributes و ایجاد Attributeهای سفارشی
🟢 سوال :
Attribute چیست؟
گزینه ۱:
یک روش برای مدیریت حافظه
گزینه ۲:
یک راه برای افزودن فراداده (Metadata) به کد
گزینه ۳:
یک روش برای مدیریت پایگاه داده
گزینه ۴:
یک روش برای ایجاد رابط کاربری گرافیکی
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
ویژگی Conditional#C، روشی برای حذف فراخوانی متدها در زمان کامپایل است. ⚙️
کافیست این ویژگی را بالای تعریف متد قرار دهید و یک شناسه (identifier) به آن پاس دهید.
```csharp
[Conditional("DEBUG")]
void Log(string message) { ... }
```
حالا اگر کامپایلر، شناسه DEBUG را پیدا نکند، تمام فراخوانیهای `Log` حذف میشوند. 🗑️ این کار، حجم نهایی برنامه را کاهش میدهد.
https://t.me/csharp7
کافیست این ویژگی را بالای تعریف متد قرار دهید و یک شناسه (identifier) به آن پاس دهید.
```csharp
[Conditional("DEBUG")]
void Log(string message) { ... }
```
حالا اگر کامپایلر، شناسه DEBUG را پیدا نکند، تمام فراخوانیهای `Log` حذف میشوند. 🗑️ این کار، حجم نهایی برنامه را کاهش میدهد.
https://t.me/csharp7
در سیشارپ، رابطها (Interfaces) قراردادهایی هستند که رفتار یک کلاس را تعریف میکنند، اما پیادهسازی آن را به عهده کلاسهای دیگر میگذارند. هدف اصلی رابطها، کاهش وابستگی بین کلاسها و افزایش انعطافپذیری کد است.
با استفاده از رابطها، میتوانید اطمینان حاصل کنید که کلاسهای مختلف، متدهای مشخصی را با امضای یکسان پیادهسازی میکنند، حتی اگر منطق داخلی آنها کاملاً متفاوت باشد. این رویکرد، امکان پلیمورفیسم را به شکل قدرتمندی فراهم میکند و به شما اجازه میدهد تا کدی بنویسید که بتواند با انواع مختلفی از اشیاء که یک رابط مشترک را پیادهسازی میکنند، کار کند. 💡
به طور خلاصه، رابطها به طراحی ماژولار و قابلیت نگهداری بهتر کد کمک میکنند. 🚀
با استفاده از رابطها، میتوانید اطمینان حاصل کنید که کلاسهای مختلف، متدهای مشخصی را با امضای یکسان پیادهسازی میکنند، حتی اگر منطق داخلی آنها کاملاً متفاوت باشد. این رویکرد، امکان پلیمورفیسم را به شکل قدرتمندی فراهم میکند و به شما اجازه میدهد تا کدی بنویسید که بتواند با انواع مختلفی از اشیاء که یک رابط مشترک را پیادهسازی میکنند، کار کند. 💡
به طور خلاصه، رابطها به طراحی ماژولار و قابلیت نگهداری بهتر کد کمک میکنند. 🚀
// مثال یک رابط در سیشارپ
public interface ILogger
{
void LogMessage(string message);
}
// مثالی از کلاسی که رابط را پیادهسازی میکند
public class ConsoleLogger : ILogger
{
public void LogMessage(string message)
{
Console.WriteLine($"[Console] {message}");
}
}
https://t.me/csharp7
Keyed DI در C#، امکان تعیین کلید برای سرویسها در Container را فراهم میکند.🔑 با این روش، بجای نوع (Type)، با یک کلید (Key) مشخص میتوان به پیادهسازیهای مختلف یک Interface دسترسی داشت.
مزیتش چیه؟ 🤔 فرض کنید چند پیادهسازی از یک Interface دارید (مثلاً `IReportGenerator`). با Keyed DI، میتوانید هر پیادهسازی را با یک کلید خاص ثبت کنید ("PDF"، "Excel") و در زمان نیاز، پیادهسازی مورد نظر را با کلیدش فراخوانی کنید. ⚙️
https://t.me/csharp7
مزیتش چیه؟ 🤔 فرض کنید چند پیادهسازی از یک Interface دارید (مثلاً `IReportGenerator`). با Keyed DI، میتوانید هر پیادهسازی را با یک کلید خاص ثبت کنید ("PDF"، "Excel") و در زمان نیاز، پیادهسازی مورد نظر را با کلیدش فراخوانی کنید. ⚙️
https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
🔵 کوییز #سی_شارپ
🟣 موضوع : پیادهسازی چندریختی (Polymorphism) در C#
🟢 سوال :
کدام یک از موارد زیر یک ویژگی چندریختی است؟
گزینه ۱:
تغییرپذیری (Mutability)
گزینه ۲:
وراثت (Inheritance)
گزینه ۳:
امکان استفاده از یک رابط برای انواع مختلف اشیاء
گزینه ۴:
استفاده از حلقههای for
🔵 گزینه صحیح:3
🟢 توضیح :
چندریختی امکان استفاده از یک رابط برای انواع مختلف اشیاء را فراهم میکند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : پیادهسازی چندریختی (Polymorphism) در C#
🟢 سوال :
کدام یک از موارد زیر یک ویژگی چندریختی است؟
گزینه ۱:
تغییرپذیری (Mutability)
گزینه ۲:
وراثت (Inheritance)
گزینه ۳:
امکان استفاده از یک رابط برای انواع مختلف اشیاء
گزینه ۴:
استفاده از حلقههای for
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
در زبان C#، Assembly یک واحد قابل کامپایل است که شامل کد اجرایی (IL)، فراداده (metadata) و منابع (resources) میباشد. Assemblyها بلوکهای سازندهی برنامههای .NET هستند و میتوانند فایلهای اجرایی (.exe) یا کتابخانههای پیوند پویا (.dll) باشند.
فضاهای نام (Namespaces) ساختاری سلسله مراتبی برای سازماندهی کلاسها، ساختارها، رابطها و سایر انواع در C# فراهم میکنند. هدف اصلی فضاهای نام، جلوگیری از تداخل نامها (naming conflicts) است. زمانی که دو کلاس با نام یکسان در پروژههای مختلف تعریف میشوند، با استفاده از فضاهای نام میتوان آنها را از یکدیگر متمایز کرد.
ارتباط بین Assembly و فضاهای نام به این صورت است که هر Assembly میتواند شامل یک یا چند فضای نام باشد. هنگام استفاده از کدی که در یک Assembly دیگر تعریف شده است، باید فضای نام مربوط به آن را با استفاده از کلمه کلیدی
به عنوان مثال، برای استفاده از کلاس
در این مثال،
بنابراین، Assemblyها بستههای فیزیکی کد هستند و فضاهای نام، روشی منطقی برای سازماندهی و دسترسی به آن کدها را ارائه میدهند. 💡
هر Assembly دارای یک Manifest است که اطلاعاتی درباره خود Assembly، اعضای آن، وابستگیها و نسخهها را در بر میگیرد. این Manifest بخشی از فرادادهی Assembly است. 📜
https://t.me/csharp7
فضاهای نام (Namespaces) ساختاری سلسله مراتبی برای سازماندهی کلاسها، ساختارها، رابطها و سایر انواع در C# فراهم میکنند. هدف اصلی فضاهای نام، جلوگیری از تداخل نامها (naming conflicts) است. زمانی که دو کلاس با نام یکسان در پروژههای مختلف تعریف میشوند، با استفاده از فضاهای نام میتوان آنها را از یکدیگر متمایز کرد.
ارتباط بین Assembly و فضاهای نام به این صورت است که هر Assembly میتواند شامل یک یا چند فضای نام باشد. هنگام استفاده از کدی که در یک Assembly دیگر تعریف شده است، باید فضای نام مربوط به آن را با استفاده از کلمه کلیدی
using به کد خود وارد کنید تا بتوانید از کلاسها و انواع موجود در آن فضای نام به طور مستقیم استفاده نمایید.به عنوان مثال، برای استفاده از کلاس
Console که در فضای نام System قرار دارد و معمولاً در Assembly mscorlib.dll (یا System.Runtime.dll در .NET Core/.NET 5+) موجود است، از دستور زیر استفاده میکنیم:using System;
public class Example
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
در این مثال،
using System; به کامپایلر میگوید که کلاس Console را در فضای نام System جستجو کند. اگر این خط را حذف کنیم، باید به صورت کامل نام کلاس را با فضای نام آن مشخص کنیم: System.Console.WriteLine("Hello, World!");.بنابراین، Assemblyها بستههای فیزیکی کد هستند و فضاهای نام، روشی منطقی برای سازماندهی و دسترسی به آن کدها را ارائه میدهند. 💡
هر Assembly دارای یک Manifest است که اطلاعاتی درباره خود Assembly، اعضای آن، وابستگیها و نسخهها را در بر میگیرد. این Manifest بخشی از فرادادهی Assembly است. 📜
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
ویژگی `required` در C# 11 معرفی شد. با این ویژگی، فیلدها و پراپرتیهای یک کلاس یا استراکت، هنگام نمونهسازی اجباری میشوند.
```csharp
public class Person
{
public required string FirstName { get; set; }
public required string LastName { get; set; }
}
```
حالا اگر `Person` را بدون مقداردهی اولیه `FirstName` و `LastName` بسازید، با خطا مواجه میشوید. ⚠️ کد خواناتر و از خطاهای زمان اجرا جلوگیری میکند. ✅
https://t.me/csharp7
```csharp
public class Person
{
public required string FirstName { get; set; }
public required string LastName { get; set; }
}
```
حالا اگر `Person` را بدون مقداردهی اولیه `FirstName` و `LastName` بسازید، با خطا مواجه میشوید. ⚠️ کد خواناتر و از خطاهای زمان اجرا جلوگیری میکند. ✅
https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
اسکریپتهای C# با پسوند `.csx`، امکان اجرای مستقیم کد بدون نیاز به پروژه کامل را فراهم میکنند. 💡
این اسکریپتها برای تست سریع کد، اتوماسیون وظایف کوچک یا استفاده در محیطهای تعاملی (REPL) بسیار مناسباند. ✅
برای اجرای یک فایل `.csx` کافیست از دستور `dotnet script <file_name>.csx` در ترمینال استفاده کنید. 💻
https://t.me/csharp7
این اسکریپتها برای تست سریع کد، اتوماسیون وظایف کوچک یا استفاده در محیطهای تعاملی (REPL) بسیار مناسباند. ✅
برای اجرای یک فایل `.csx` کافیست از دستور `dotnet script <file_name>.csx` در ترمینال استفاده کنید. 💻
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
پنجره Immediate Window در ویژوال استودیو ابزاری قدرتمند برای اجرای دستورات C# به صورت تعاملی در زمان اجرای برنامه است. این قابلیت به شما امکان میدهد تا مقادیر متغیرها را بررسی کنید، توابع را فراخوانی کنید و حتی تغییراتی را در وضعیت برنامه اعمال نمایید.
برای استفاده از این پنجره، ابتدا برنامه خود را در حالت Debug اجرا کنید. سپس، پنجره Immediate Window را از منوی Debug > Windows > Immediate باز کنید. در این پنجره میتوانید دستورات C# را تایپ کرده و با فشردن Enter، آنها را اجرا کنید.
مثال:
با تایپ
سپس در Immediate Window دستور
https://t.me/csharp7
برای استفاده از این پنجره، ابتدا برنامه خود را در حالت Debug اجرا کنید. سپس، پنجره Immediate Window را از منوی Debug > Windows > Immediate باز کنید. در این پنجره میتوانید دستورات C# را تایپ کرده و با فشردن Enter، آنها را اجرا کنید.
مثال:
string message = "Hello, World!";
Console.WriteLine(message);
با تایپ
message در Immediate Window و فشردن Enter، مقدار رشته "Hello, World!" نمایش داده میشود. همچنین میتوانید تابعی را فراخوانی کنید:public int Add(int a, int b)
{
return a + b;
}
سپس در Immediate Window دستور
Add(5, 3) را اجرا کنید تا نتیجه 8 را مشاهده نمایید. این پنجره برای عیبیابی سریع و درک بهتر جریان اجرای کد بسیار مفید است. 💻🔍💡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
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
C# به شما اجازه میده رفتار سرریز حسابی رو برای نوع دادههای خودتون مشخص کنید. 🧮
کافیه عملگرهای `+`، `-`، `*` و `/` رو با کلمه کلیدی `checked` تعریف کنید. در این صورت، اگه نتیجه از محدوده نوع داده شما خارج بشه، یه استثنا رخ میده. 💥
به این ترتیب، میتونید مطمئن بشید محاسباتتون همیشه دقیق و قابل اعتماد هستن. ✅
https://t.me/csharp7
کافیه عملگرهای `+`، `-`، `*` و `/` رو با کلمه کلیدی `checked` تعریف کنید. در این صورت، اگه نتیجه از محدوده نوع داده شما خارج بشه، یه استثنا رخ میده. 💥
به این ترتیب، میتونید مطمئن بشید محاسباتتون همیشه دقیق و قابل اعتماد هستن. ✅
https://t.me/csharp7
دانستنی C#:
متدهای `MaxBy` و `MinBy` در LINQ به شما کمک میکنند تا بر اساس یک ویژگی خاص، بزرگترین یا کوچکترین آیتم را در یک مجموعه پیدا کنید.
فرض کنید لیستی از اشیاء `Product` دارید و میخواهید محصولی با بالاترین قیمت را پیدا کنید:
```csharp
Product mostExpensive = products.MaxBy(p => p.Price);
```
به همین سادگی! 🚀💰
https://t.me/csharp7
متدهای `MaxBy` و `MinBy` در LINQ به شما کمک میکنند تا بر اساس یک ویژگی خاص، بزرگترین یا کوچکترین آیتم را در یک مجموعه پیدا کنید.
فرض کنید لیستی از اشیاء `Product` دارید و میخواهید محصولی با بالاترین قیمت را پیدا کنید:
```csharp
Product mostExpensive = products.MaxBy(p => p.Price);
```
به همین سادگی! 🚀💰
https://t.me/csharp7
💡 نکته #SQLite
🟣 موضوع : بررسی و مقایسه انواع ذخیرهسازی دادهها در SQLite
📖 سرفصل : بهینهسازی فضای ذخیرهسازی
✨ نکته 1:
برای بهینهسازی، اول از همه باید از دستور VACUUM استفاده کنی! این دستور فضای خالی دیتابیس رو حذف میکنه و حجم فایل رو کم میکنه. 🧹✨
✨ نکته 2:
از نوع دادهی BLOB برای ذخیرهی فایلهای حجیم (مثل تصاویر) پرهیز کن! بهتره فایل رو تو سیستم فایل معمولی ذخیره کنی و فقط مسیرش رو تو SQLite بذاری. 📦💾
✨ نکته 3:
اگه میخوای یه عدد کاملاً صحیح باشه و هیچوقت Null نشه، ستون رو INTEGER PRIMARY KEY تعریف کن. این کار باعث میشه از فضای کمتری استفاده بشه. 🔢💡
✨ نکته 4:
از ایندکسهای زیادی پرهیز کن! هر ایندکس یه کپی اضافی از دادهها رو تو فایل ذخیره میکنه و حجم رو زیاد میکنه. فقط برای ستونهای ضروری ایندکس بساز. 📉
✨ نکته 5:
اگه میبینی تو یه ستون فقط عدد صفر و یک یا True و False ذخیره میکنی، حتماً نوع داده رو INTEGER بذار. چون فضای کمتری نسبت به TEXT میگیره. 🤏
✨ نکته 6:
برای اینکه دیتابیس خودش کمکم تمیز بمونه، PRAGMA auto_vacuum = FULL; رو فعال کن. این باعث میشه فضای آزاد مدیریت بشه و دیگه لازم نباشه همیشه VACUUM بزنی. 🔄
✨ نکته 7:
در صورت امکان، از نامهای کوتاهتر برای جدولها و ستونها استفاده کن. چون این نامها تو Schema و ایندکسها ذخیره میشن و روی حجم نهایی تأثیر میذارن. 📝
✨ نکته 8:
به جای ذخیره کردن تاریخ و زمان به صورت رشتههای طولانی (TEXT)، از فرمتهای عددی INTEGER (مثلاً Unix Time) استفاده کن. حجم کمتری میگیره. ⏰
✨ نکته 9:
اگه میخوای یه کپی تمیز و فشرده از دیتابیس بگیری، از VACUUM INTO 'backup.db'; استفاده کن. این هم بکآپه، هم بهینهسازی! 📦🔥
✨ نکته 10:
برای ستونهای متنی، سعی کن فقط مقداری که واقعاً لازمه رو ذخیره کنی. حذف فاصلههای اضافه یا متون تکراری، به طور غیرمستقیم فضای ذخیرهسازی رو بهینه میکنه. ✅😎
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : بررسی و مقایسه انواع ذخیرهسازی دادهها در SQLite
📖 سرفصل : بهینهسازی فضای ذخیرهسازی
✨ نکته 1:
برای بهینهسازی، اول از همه باید از دستور VACUUM استفاده کنی! این دستور فضای خالی دیتابیس رو حذف میکنه و حجم فایل رو کم میکنه. 🧹✨
✨ نکته 2:
از نوع دادهی BLOB برای ذخیرهی فایلهای حجیم (مثل تصاویر) پرهیز کن! بهتره فایل رو تو سیستم فایل معمولی ذخیره کنی و فقط مسیرش رو تو SQLite بذاری. 📦💾
✨ نکته 3:
اگه میخوای یه عدد کاملاً صحیح باشه و هیچوقت Null نشه، ستون رو INTEGER PRIMARY KEY تعریف کن. این کار باعث میشه از فضای کمتری استفاده بشه. 🔢💡
✨ نکته 4:
از ایندکسهای زیادی پرهیز کن! هر ایندکس یه کپی اضافی از دادهها رو تو فایل ذخیره میکنه و حجم رو زیاد میکنه. فقط برای ستونهای ضروری ایندکس بساز. 📉
✨ نکته 5:
اگه میبینی تو یه ستون فقط عدد صفر و یک یا True و False ذخیره میکنی، حتماً نوع داده رو INTEGER بذار. چون فضای کمتری نسبت به TEXT میگیره. 🤏
✨ نکته 6:
برای اینکه دیتابیس خودش کمکم تمیز بمونه، PRAGMA auto_vacuum = FULL; رو فعال کن. این باعث میشه فضای آزاد مدیریت بشه و دیگه لازم نباشه همیشه VACUUM بزنی. 🔄
✨ نکته 7:
در صورت امکان، از نامهای کوتاهتر برای جدولها و ستونها استفاده کن. چون این نامها تو Schema و ایندکسها ذخیره میشن و روی حجم نهایی تأثیر میذارن. 📝
✨ نکته 8:
به جای ذخیره کردن تاریخ و زمان به صورت رشتههای طولانی (TEXT)، از فرمتهای عددی INTEGER (مثلاً Unix Time) استفاده کن. حجم کمتری میگیره. ⏰
✨ نکته 9:
اگه میخوای یه کپی تمیز و فشرده از دیتابیس بگیری، از VACUUM INTO 'backup.db'; استفاده کن. این هم بکآپه، هم بهینهسازی! 📦🔥
✨ نکته 10:
برای ستونهای متنی، سعی کن فقط مقداری که واقعاً لازمه رو ذخیره کنی. حذف فاصلههای اضافه یا متون تکراری، به طور غیرمستقیم فضای ذخیرهسازی رو بهینه میکنه. ✅😎
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
Media is too big
VIEW IN TELEGRAM
🔵 آموزش مبانی برنامه نویسی - بخش پنجم
🟢 کیفیت : متوسط
🔴 توجه کنید این ویدیو با کیفیت متوسط می باشد. طی روزهای آینده نسخه های متفاوت با کیفیت بالاتر یا کم حجم تر از این نسخه در کانال قرار داده خواهد شد.
🟣 مبانی برنامه نویسی
🟢 زبان آموزش: فارسی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟢 کیفیت : متوسط
🔴 توجه کنید این ویدیو با کیفیت متوسط می باشد. طی روزهای آینده نسخه های متفاوت با کیفیت بالاتر یا کم حجم تر از این نسخه در کانال قرار داده خواهد شد.
🟣 مبانی برنامه نویسی
🟢 زبان آموزش: فارسی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
در C#، ترکیب (Composition) روشی قدرتمند برای طراحی سیستمهاست. به جای اینکه کلاسها از کلاسهای دیگر ارثبری کنند، اشیاء یک کلاس، اشیاء دیگری از کلاسهای دیگر را در خود نگه میدارند و از قابلیتهای آنها استفاده میکنند. این رویکرد به جای وراثت، "یک رابطه داشتن" (has-a) را ایجاد میکند که وابستگیها را به شدت کاهش داده و انعطافپذیری کد را برای تغییرات و توسعههای آینده افزایش میدهد. 🧩💡 #Csharp #DesignPatterns
https://t.me/csharp7
https://t.me/csharp7