اجرای تاخیری (Deferred execution) در LINQ، با اینکه قدرتمنده، میتونه دردسرساز هم بشه! 😬
فرض کن یه کوئری LINQ نوشتی که از یه منبع داده (مثلاً یه لیست) استفاده میکنه. اگه بعد از تعریف کوئری، منبع داده تغییر کنه، نتیجه کوئری هم عوض میشه. چون اجرای واقعی کوئری تا لحظهای که نتیجهش نیاز نباشه، به تاخیر میافته. ⏳
برای جلوگیری از این اتفاق، میتونی از `ToList()` یا `ToArray()` استفاده کنی تا نتیجه کوئری رو همون لحظه materialize کنی و دیگه به منبع داده وابسته نباشی. ✅
https://t.me/csharp7
فرض کن یه کوئری LINQ نوشتی که از یه منبع داده (مثلاً یه لیست) استفاده میکنه. اگه بعد از تعریف کوئری، منبع داده تغییر کنه، نتیجه کوئری هم عوض میشه. چون اجرای واقعی کوئری تا لحظهای که نتیجهش نیاز نباشه، به تاخیر میافته. ⏳
برای جلوگیری از این اتفاق، میتونی از `ToList()` یا `ToArray()` استفاده کنی تا نتیجه کوئری رو همون لحظه materialize کنی و دیگه به منبع داده وابسته نباشی. ✅
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.
در ASP.NET Core، Layouts و Partial Views ابزارهایی قدرتمند برای بازاستفاده کد در نماها (Views) هستند.
Layouts ساختار کلی صفحات وب شما را تعریف میکنند. به عنوان مثال، هدر، فوتر و منوی ناوبری که در تمامی صفحات سایت مشترک هستند، میتوانند در یک Layout قرار بگیرند. سپس، نماهای دیگر میتوانند به این Layout ارجاع دهند و فقط بخش محتوای اصلی خود را تعریف کنند.
Partial Views قطعههای کوچکی از HTML هستند که میتوانند در نماهای مختلف یا حتی درون Layout ها قرار گیرند. این امر برای نمایش بخشهای تکراری UI یا منطق نمایشی که در چندین جا استفاده میشود، بسیار مفید است.
برای مثال، یک Layout اصلی میتواند به این صورت باشد:
و در این Layout، ما یک Partial View به نام
با استفاده از این روشها، میتوان اطمینان حاصل کرد که نگهداری و بهروزرسانی کد بسیار سادهتر شده و از تکرار کد جلوگیری میشود. 🚀✨
https://t.me/csharp7
Layouts ساختار کلی صفحات وب شما را تعریف میکنند. به عنوان مثال، هدر، فوتر و منوی ناوبری که در تمامی صفحات سایت مشترک هستند، میتوانند در یک Layout قرار بگیرند. سپس، نماهای دیگر میتوانند به این Layout ارجاع دهند و فقط بخش محتوای اصلی خود را تعریف کنند.
Partial Views قطعههای کوچکی از HTML هستند که میتوانند در نماهای مختلف یا حتی درون Layout ها قرار گیرند. این امر برای نمایش بخشهای تکراری UI یا منطق نمایشی که در چندین جا استفاده میشود، بسیار مفید است.
برای مثال، یک Layout اصلی میتواند به این صورت باشد:
<!DOCTYPE html>
<html>
<head>
<title>وبسایت من</title>
</head>
<body>
<header>
<h1>سربرگ سایت</h1>
@await Html.PartialAsync("_Navigation")
</header>
<main>
@RenderBody()
</main>
<footer>
<p>© 2023 وبسایت من</p>
</footer>
</body>
</html>
و در این Layout، ما یک Partial View به نام
_Navigation.cshtml را فراخوانی کردهایم تا منوی ناوبری سایت را نمایش دهد.@* _Navigation.cshtml *@
<nav>
<ul>
<li><a href="/">صفحه اصلی</a></li>
<li><a href="/about">درباره ما</a></li>
<li><a href="/contact">تماس با ما</a></li>
</ul>
</nav>
با استفاده از این روشها، میتوان اطمینان حاصل کرد که نگهداری و بهروزرسانی کد بسیار سادهتر شده و از تکرار کد جلوگیری میشود. 🚀✨
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
ویژگی `readonly record struct` در C# 10 معرفی شد.
با این قابلیت، نوعی struct تعریف میکنید که:
* مانند `record`ها immutable است (تغییرناپذیر).
* مانند `struct`ها value type است (نوع مقداری).
این ترکیب، برای ساختارهای دادهای کوچک و غیرقابل تغییر، عملکرد و ایمنی را بهینه میکند.
به این ترتیب از تخصیص حافظه heap جلوگیری میشود.
🧱🚀
https://t.me/csharp7
با این قابلیت، نوعی struct تعریف میکنید که:
* مانند `record`ها immutable است (تغییرناپذیر).
* مانند `struct`ها value type است (نوع مقداری).
این ترکیب، برای ساختارهای دادهای کوچک و غیرقابل تغییر، عملکرد و ایمنی را بهینه میکند.
به این ترتیب از تخصیص حافظه heap جلوگیری میشود.
🧱🚀
https://t.me/csharp7
💡 نکته #SQLite
🟣 موضوع : بررسی و مقایسه انواع ذخیرهسازی دادهها در SQLite
📖 سرفصل : مبانی پایگاه داده رابطهای
✨ نکته 1:
SQLite یه نسخه کوچیک و سبک از پایگاه دادههای رابطهایه؛ یعنی بدون سرویس جداگونه هم کار میکنه و راحت همهجا میاد بالا 😄✨
✨ نکته 2:
تو SQLite لازم نیست از قبل سرور نصب کنی؛ فقط فایل دیتابیسه و همین باعث میشه خیلی سریع پروژهتو راه بندازی ⚡🔥
✨ نکته 3:
ساختار جدولها در SQLite تماما رابطهایه، پس با همون مفاهیم کلاسیک مثل سطر، ستون، Primary Key سروکار داری 💡📊
✨ نکته 4:
برای پروژههای موبایل عالیه چون هم کمحجمه و هم خیلی سریع کار میکنه 📱✨
✨ نکته 5:
SQLite امکان استفاده از JOIN رو میده پس میتونی چندتا جدول رو بهصورت حرفهای به هم وصل کنی 🔗💥
✨ نکته 6:
فقط یه فایل دیتابیس ذخیره میشه؛ یعنی خیلی راحت میتونی بکآپ بگیری یا جابهجاش کنی 🎒📁
✨ نکته 7:
به خاطر رابطهای بودنش میتونی دادههارو نرمالسازی کنی و از تکرار جلوگیری کنی ✨📐
✨ نکته 8:
SQLite تراکنشها رو پشتیبانی میکنه؛ یعنی عملیاتت یا کامل انجام میشن یا کامل لغو میشن 🔒✔️
✨ نکته 9:
برای پروژههای کوچک و متوسط واقعا بهترین انتخابه و حتی تو برنامههای بزرگ هم برای کش و ذخیره موقت فوقالعادهست 💡🔥
✨ نکته 10:
با وجود سبک بودن، انواع دادهها و محدودیتها (Constraints) رو خوب پشتیبانی میکنه؛ پس مدلسازی دیتابیس همچنان اصولی میمونه 🧩✨
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : بررسی و مقایسه انواع ذخیرهسازی دادهها در SQLite
📖 سرفصل : مبانی پایگاه داده رابطهای
✨ نکته 1:
SQLite یه نسخه کوچیک و سبک از پایگاه دادههای رابطهایه؛ یعنی بدون سرویس جداگونه هم کار میکنه و راحت همهجا میاد بالا 😄✨
✨ نکته 2:
تو SQLite لازم نیست از قبل سرور نصب کنی؛ فقط فایل دیتابیسه و همین باعث میشه خیلی سریع پروژهتو راه بندازی ⚡🔥
✨ نکته 3:
ساختار جدولها در SQLite تماما رابطهایه، پس با همون مفاهیم کلاسیک مثل سطر، ستون، Primary Key سروکار داری 💡📊
✨ نکته 4:
برای پروژههای موبایل عالیه چون هم کمحجمه و هم خیلی سریع کار میکنه 📱✨
✨ نکته 5:
SQLite امکان استفاده از JOIN رو میده پس میتونی چندتا جدول رو بهصورت حرفهای به هم وصل کنی 🔗💥
✨ نکته 6:
فقط یه فایل دیتابیس ذخیره میشه؛ یعنی خیلی راحت میتونی بکآپ بگیری یا جابهجاش کنی 🎒📁
✨ نکته 7:
به خاطر رابطهای بودنش میتونی دادههارو نرمالسازی کنی و از تکرار جلوگیری کنی ✨📐
✨ نکته 8:
SQLite تراکنشها رو پشتیبانی میکنه؛ یعنی عملیاتت یا کامل انجام میشن یا کامل لغو میشن 🔒✔️
✨ نکته 9:
برای پروژههای کوچک و متوسط واقعا بهترین انتخابه و حتی تو برنامههای بزرگ هم برای کش و ذخیره موقت فوقالعادهست 💡🔥
✨ نکته 10:
با وجود سبک بودن، انواع دادهها و محدودیتها (Constraints) رو خوب پشتیبانی میکنه؛ پس مدلسازی دیتابیس همچنان اصولی میمونه 🧩✨
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
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#، برای پردازش جریانی دادههای نامتقارن (Asynchronous)، `IAsyncEnumerable` الگوهای بهینهتری ارائه میدهد.
به جای لیست کردن تمام آیتمها در حافظه، میتوانید آیتمها را به صورت تکبهتک و در حین پردازش دریافت کنید.
این روش، مصرف حافظه را به شدت کاهش میدهد، بهویژه زمانی که با مجموعههای داده بزرگ سروکار دارید. 💾✨
مثال: خواندن لاین به لاین یک فایل بزرگ. 📚
https://t.me/csharp7
به جای لیست کردن تمام آیتمها در حافظه، میتوانید آیتمها را به صورت تکبهتک و در حین پردازش دریافت کنید.
این روش، مصرف حافظه را به شدت کاهش میدهد، بهویژه زمانی که با مجموعههای داده بزرگ سروکار دارید. 💾✨
مثال: خواندن لاین به لاین یک فایل بزرگ. 📚
https://t.me/csharp7
ویژگی Init-only setters در C# به شما اجازه میدهند مقدار یک property را فقط در زمان ساخت object تعیین کنید.
```csharp
public string Name { get; init; }
```
با records در C#، میتوانید immutable data classes تعریف کنید. یعنی پس از ایجاد، مقدار propertyها قابل تغییر نیست.
```csharp
public record Person(string FirstName, string LastName);
```
ترکیب این دو، راهی قدرتمند برای ایجاد اشیایی با مقادیر اولیه مشخص و غیرقابل تغییر ارائه میدهد. 🔒💻
https://t.me/csharp7
```csharp
public string Name { get; init; }
```
با records در C#، میتوانید immutable data classes تعریف کنید. یعنی پس از ایجاد، مقدار propertyها قابل تغییر نیست.
```csharp
public record Person(string FirstName, string LastName);
```
ترکیب این دو، راهی قدرتمند برای ایجاد اشیایی با مقادیر اولیه مشخص و غیرقابل تغییر ارائه میدهد. 🔒💻
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#، متدهای استاتیک فقط میتوانند به فیلدها و متدهای استاتیک دیگر در همان کلاس دسترسی داشته باشند. این به این دلیل است که متدهای استاتیک به یک نمونه خاص از کلاس تعلق ندارند، بلکه به خود کلاس تعلق دارند.
هنگام دسترسی به اعضای استاتیک از داخل یک متد استاتیک، نیازی به ایجاد یک نمونه از کلاس نیست. شما مستقیماً با استفاده از نام کلاس به آنها دسترسی پیدا میکنید.
مثال:
فرض کنید کلاسی به نام
در متد
برای فراخوانی
این نحوه دسترسی به اعضای استاتیک از داخل متدهای استاتیک را نشان میدهد. 🧰⚙️
https://t.me/csharp7
هنگام دسترسی به اعضای استاتیک از داخل یک متد استاتیک، نیازی به ایجاد یک نمونه از کلاس نیست. شما مستقیماً با استفاده از نام کلاس به آنها دسترسی پیدا میکنید.
مثال:
فرض کنید کلاسی به نام
Calculator داریم با یک فیلد استاتیک و یک متد استاتیک:public class Calculator
{
public static int AdditionCount = 0; // فیلد استاتیک
public static int Add(int a, int b) // متد استاتیک
{
AdditionCount++; // دسترسی به فیلد استاتیک
return a + b;
}
// متد استاتیک دیگری که به فیلد و متد استاتیک دیگر دسترسی دارد
public static void DisplayAdditionCount()
{
Console.WriteLine($"تعداد دفعات استفاده از تابع Add: {AdditionCount}"); // دسترسی به فیلد استاتیک
int result = Add(5, 3); // دسترسی به متد استاتیک
Console.WriteLine($"نتیجه یک نمونه Add: {result}");
}
}
در متد
DisplayAdditionCount که خود یک متد استاتیک است، ما به طور مستقیم به فیلد استاتیک AdditionCount و متد استاتیک Add دسترسی پیدا کردهایم.برای فراخوانی
DisplayAdditionCount، کافیست از نام کلاس استفاده کنیم:Calculator.DisplayAdditionCount();
این نحوه دسترسی به اعضای استاتیک از داخل متدهای استاتیک را نشان میدهد. 🧰⚙️
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
در C#، سازندههای partial به شما اجازه میدهند منطق یک سازنده را بین چند فایل class تقسیم کنید. 🏗️ این قابلیت، بهویژه در پروژههای بزرگ که کد تولیدشده و کد دستی با هم ترکیب میشوند، مفید است. 🧩 هر بخش باید `partial` باشد.
https://t.me/csharp7
https://t.me/csharp7
پروژههای #Csharp ⚙️ بزرگ معمولاً فایلهای پیکربندی زیادی دارن.
AdditionalTexts و AnalyzerConfig به شما کمک میکنن این فایلها رو مدیریت کنین.
AdditionalTexts برای فایلهایی مثل SQL script یا JSON schema استفاده میشه که بخشی از کامپایل نیستن ولی ممکنه برای تولید کد یا آنالیز استاتیک بهشون نیاز باشه.
AnalyzerConfig هم تنظیمات مربوط به آنالیز کد رو مشخص میکنه. مثلاً سطح سختگیری ruleهای کدنویسی 🚦 یا فعال/غیرفعال کردن بعضی از Analyzerها.
https://t.me/csharp7
AdditionalTexts و AnalyzerConfig به شما کمک میکنن این فایلها رو مدیریت کنین.
AdditionalTexts برای فایلهایی مثل SQL script یا JSON schema استفاده میشه که بخشی از کامپایل نیستن ولی ممکنه برای تولید کد یا آنالیز استاتیک بهشون نیاز باشه.
AnalyzerConfig هم تنظیمات مربوط به آنالیز کد رو مشخص میکنه. مثلاً سطح سختگیری ruleهای کدنویسی 🚦 یا فعال/غیرفعال کردن بعضی از Analyzerها.
https://t.me/csharp7
💡 نکته #MySQL
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : معرفی LEFT JOIN (یا LEFT OUTER JOIN)
✨ LEFT JOIN مثل اینه که بگی: "هرچی تو جدول سمت چپم (جدول اصلی) هست رو کامل بیار، حتی اگه تو جدول سمت راست چیزی براش پیدا نکردی! 🤔"
✨ یادت باشه، اگه LEFT JOIN استفاده کنی و برای یه ردیف از جدول چپ، تو جدول راست چیزی نباشه، جای ستونهای جدول راست برات NULL میذاره. 🧐 این خیلی مهمه!
✨ میخوای ببینی کدوم کاربرات سفارشی ثبت نکردن؟ 🤷♀️ کافیه LEFT JOIN بزنی بین جدول کاربران و سفارشاتت، بعد فیلتر کنی جایی که order_id تو جدول سفارشات IS NULL باشه! این یه ترفند خفنه! 🔥
✨ فرق اصلی LEFT JOIN با INNER JOIN رو حواست باشه! INNER فقط اونایی رو میاره که تو جفت جدول تطابق دارن، ولی LEFT، همه سمت چپیها رو میاره، حتی اگه سمت راستیها بیمعنی باشن (یعنی NULL). 💡
✨ ترتیب جدولها تو LEFT JOIN خیلی مهمه! ☝️ A LEFT JOIN B با B LEFT JOIN A فرق داره و نتیجههای متفاوتی میده. دقت کن کدوم جدول برات "اصلی" و سمت چپه.
✨ LEFT JOIN همون LEFT OUTER JOIN هست، فقط برای راحتی کلمه "OUTER" رو معمولاً حذف میکنن. پس نگران نباش اگه هردوشو دیدی، یکین! ✨
✨ موقعی که میخوای اطلاعات تکمیلی رو از یه جدول دیگه به دادههای اصلیت اضافه کنی، ولی دوست نداری هیچکدوم از دادههای اصلیت از بین برن، LEFT JOIN بهترین انتخابه! 🚀
✨ حواست باشه اگه قراره روی ستونهای جدول سمت راست فیلتر کنی، ممکنه نتیجه شبیه INNER JOIN بشه! اگه فیلترت رو توی ON بذاری، رفتار LEFT JOIN حفظ میشه. این یه دام رایجه! 🎣
✨ میتونی چند تا LEFT JOIN رو پشت سر هم استفاده کنی! مثلاً users LEFT JOIN orders LEFT JOIN products. اینجوری اطلاعات زیادی رو میتونی به هم وصل کنی. 🕸️
✨ فکر کن به یه کلاس درس که دانشجوهاش شماره دانشجویی دارن و یه جدول دیگه که نمراتشونه. اگه بخوای لیست کامل دانشجوها رو با نمراتشون ببینی (حتی اونایی که هنوز نمره نگرفتن)، LEFT JOIN ناجیته! 🎓📚
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : معرفی LEFT JOIN (یا LEFT OUTER JOIN)
✨ LEFT JOIN مثل اینه که بگی: "هرچی تو جدول سمت چپم (جدول اصلی) هست رو کامل بیار، حتی اگه تو جدول سمت راست چیزی براش پیدا نکردی! 🤔"
✨ یادت باشه، اگه LEFT JOIN استفاده کنی و برای یه ردیف از جدول چپ، تو جدول راست چیزی نباشه، جای ستونهای جدول راست برات NULL میذاره. 🧐 این خیلی مهمه!
✨ میخوای ببینی کدوم کاربرات سفارشی ثبت نکردن؟ 🤷♀️ کافیه LEFT JOIN بزنی بین جدول کاربران و سفارشاتت، بعد فیلتر کنی جایی که order_id تو جدول سفارشات IS NULL باشه! این یه ترفند خفنه! 🔥
✨ فرق اصلی LEFT JOIN با INNER JOIN رو حواست باشه! INNER فقط اونایی رو میاره که تو جفت جدول تطابق دارن، ولی LEFT، همه سمت چپیها رو میاره، حتی اگه سمت راستیها بیمعنی باشن (یعنی NULL). 💡
✨ ترتیب جدولها تو LEFT JOIN خیلی مهمه! ☝️ A LEFT JOIN B با B LEFT JOIN A فرق داره و نتیجههای متفاوتی میده. دقت کن کدوم جدول برات "اصلی" و سمت چپه.
✨ LEFT JOIN همون LEFT OUTER JOIN هست، فقط برای راحتی کلمه "OUTER" رو معمولاً حذف میکنن. پس نگران نباش اگه هردوشو دیدی، یکین! ✨
✨ موقعی که میخوای اطلاعات تکمیلی رو از یه جدول دیگه به دادههای اصلیت اضافه کنی، ولی دوست نداری هیچکدوم از دادههای اصلیت از بین برن، LEFT JOIN بهترین انتخابه! 🚀
✨ حواست باشه اگه قراره روی ستونهای جدول سمت راست فیلتر کنی، ممکنه نتیجه شبیه INNER JOIN بشه! اگه فیلترت رو توی ON بذاری، رفتار LEFT JOIN حفظ میشه. این یه دام رایجه! 🎣
✨ میتونی چند تا LEFT JOIN رو پشت سر هم استفاده کنی! مثلاً users LEFT JOIN orders LEFT JOIN products. اینجوری اطلاعات زیادی رو میتونی به هم وصل کنی. 🕸️
✨ فکر کن به یه کلاس درس که دانشجوهاش شماره دانشجویی دارن و یه جدول دیگه که نمراتشونه. اگه بخوای لیست کامل دانشجوها رو با نمراتشون ببینی (حتی اونایی که هنوز نمره نگرفتن)، LEFT JOIN ناجیته! 🎓📚
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 کوییز #سی_شارپ
🟣 موضوع : استفاده از enum برای تعریف مجموعهای از ثابتها
🟢 سوال :
کدام یک از موارد زیر یک کاربرد پیشرفته enum است؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
استفاده در الگوهای طراحی state machine یا flagها
گزینه ۳:
محاسبات ریاضی ساده
گزینه ۴:
ایجاد رابط کاربری استاتیک
🔵 گزینه صحیح:2
🟢 توضیح :
الگوهای طراحی state machine یا flagها مثالهایی از کاربرد پیشرفته enum هستند.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : استفاده از enum برای تعریف مجموعهای از ثابتها
🟢 سوال :
کدام یک از موارد زیر یک کاربرد پیشرفته enum است؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
استفاده در الگوهای طراحی state machine یا flagها
گزینه ۳:
محاسبات ریاضی ساده
گزینه ۴:
ایجاد رابط کاربری استاتیک
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، 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.
🔵 کوییز #سی_شارپ
🟣 موضوع : مفهوم Pattern Matching در C#
🟢 سوال :
کدام یک از موارد زیر یک کاربرد پیشرفته Pattern Matching است؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
ایجاد الگوهای طراحی تابعی با استفاده از تطبیق الگوها
گزینه ۳:
محاسبات ریاضی ساده
گزینه ۴:
ایجاد رابط کاربری استاتیک
🔵 گزینه صحیح:2
🟢 توضیح :
ایجاد الگوهای طراحی تابعی با استفاده از تطبیق الگوها، یک کاربرد پیشرفته Pattern Matching است.
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : مفهوم Pattern Matching در C#
🟢 سوال :
کدام یک از موارد زیر یک کاربرد پیشرفته Pattern Matching است؟
گزینه ۱:
مدیریت حافظه
گزینه ۲:
ایجاد الگوهای طراحی تابعی با استفاده از تطبیق الگوها
گزینه ۳:
محاسبات ریاضی ساده
گزینه ۴:
ایجاد رابط کاربری استاتیک
🔵 گزینه صحیح:
🟢 توضیح :
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
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# 14 قابلیتی به نام Webcil format معرفی کرد. 📦
با این فرمت، اسمبلیهای داتنت برای وب بهینه میشن و حجم کمتری دارن. 🚀
نتیجه؟ سرعت بارگذاری و اجرای برنامههای Blazor WebAssembly بیشتر میشه. ⚡
https://t.me/csharp7
با این فرمت، اسمبلیهای داتنت برای وب بهینه میشن و حجم کمتری دارن. 🚀
نتیجه؟ سرعت بارگذاری و اجرای برنامههای Blazor WebAssembly بیشتر میشه. ⚡
https://t.me/csharp7
پایتون بلدی؟ 🐍 یه سوال! 🧐
Threading سریعتره یا Multiprocessing یا Asyncio؟ 🤔
هر کدوم یه جور موازیکاریه! Threading برای کارهای IO-bound (مثل دانلود) خوبه، Multiprocessing برای CPU-bound (محاسبات سنگین) و Asyncio هم برای کارهای همزمانِ سبک.
انتخاب با تو! 😉
#پایتون #آموزش #programming
https://t.me/python7ir
Threading سریعتره یا Multiprocessing یا Asyncio؟ 🤔
هر کدوم یه جور موازیکاریه! Threading برای کارهای IO-bound (مثل دانلود) خوبه، Multiprocessing برای CPU-bound (محاسبات سنگین) و Asyncio هم برای کارهای همزمانِ سبک.
انتخاب با تو! 😉
#پایتون #آموزش #programming
https://t.me/python7ir
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:
➡️ 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/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
شامل موضوعات آموزشی زیر:
توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی
با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
Telegram
موفقیت
You’ve been invited to add the folder “موفقیت”, which includes 26 chats.
ویژگی `MethodImplOptions.NoInlining` از قرارگیری یک متد در کنار متد فراخوان جلوگیری میکند. این یعنی متد همیشه به صورت یک فراخوانی جداگانه اجرا میشود.
از طرفی، `MethodImplOptions.AggressiveInlining` به کامپایلر پیشنهاد میکند تا حد امکان، متد را درون متد فراخوان قرار دهد. این کار سرعت را بالا میبرد اما اندازه کد را افزایش میدهد. 🚀
انتخاب بین این دو، بستگی به نیازهای خاص پروژه دارد. ⚖️
https://t.me/csharp7
از طرفی، `MethodImplOptions.AggressiveInlining` به کامپایلر پیشنهاد میکند تا حد امکان، متد را درون متد فراخوان قرار دهد. این کار سرعت را بالا میبرد اما اندازه کد را افزایش میدهد. 🚀
انتخاب بین این دو، بستگی به نیازهای خاص پروژه دارد. ⚖️
https://t.me/csharp7
هنگام کار با فایلها در C#، ممکن است با خطاهایی مانند عدم دسترسی به فایل، فایل پیدا نشده یا مشکلات دیگر در عملیات ورودی/خروجی (I/O) مواجه شوید. برای مدیریت این استثناها و جلوگیری از توقف ناگهانی برنامه، استفاده از بلوک
در این مثال:
- بلوک
- بلوکهای
- بلوک
https://t.me/csharp7
try-catch ضروری است.using System;
using System.IO;
public class FileOperations
{
public static void Main(string[] args)
{
string filePath = "myFile.txt";
try
{
// تلاش برای خواندن از فایل
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine("محتوای فایل:");
Console.WriteLine(content);
}
// مثال: تلاش برای نوشتن در فایل (که ممکن است مجاز نباشد)
using (StreamWriter writer = new StreamWriter(filePath, true)) // true برای اضافه کردن به انتهای فایل
{
writer.WriteLine("این یک خط جدید است.");
}
Console.WriteLine("عملیات نوشتن با موفقیت انجام شد.");
}
catch (FileNotFoundException)
{
Console.WriteLine($"خطا: فایل '{filePath}' پیدا نشد.");
}
catch (UnauthorizedAccessException)
{
Console.WriteLine($"خطا: دسترسی به فایل '{filePath}' مجاز نیست.");
}
catch (IOException ex)
{
Console.WriteLine($"خطای ورودی/خروجی رخ داد: {ex.Message}");
}
catch (Exception ex) // برای گرفتن هر نوع خطای دیگر
{
Console.WriteLine($"یک خطای غیرمنتظره رخ داد: {ex.Message}");
}
finally
{
Console.WriteLine("عملیات مربوط به فایل به پایان رسید.");
}
}
}
در این مثال:
- بلوک
try شامل کدهایی است که ممکن است استثنا ایجاد کنند (مانند خواندن یا نوشتن در فایل).- بلوکهای
catch انواع مختلف استثناها را مدیریت میکنند. FileNotFoundException برای زمانی که فایل وجود ندارد، UnauthorizedAccessException برای مشکلات دسترسی، و IOException برای سایر خطاهای I/O.- بلوک
finally همیشه اجرا میشود، چه استثنایی رخ دهد و چه رخ ندهد، و برای آزاد کردن منابع (مانند بستن فایلها) بسیار مفید است. استفاده از using در StreamReader و StreamWriter به طور خودکار منابع را مدیریت میکند، اما finally همچنان برای پیام نهایی مفید است. 📄🔒https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
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.