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

آیدی ادمین:
@ma_limbs
Download Telegram
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

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

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

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
💠 عضو جامع ترین کانال های توسعه فردی، روانشناسی و موفقیت شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

شامل موضوعات آموزشی زیر:

توسعه و رشد فردی
افزایش ثروت
هدف گذاری و مدیریت زمان
مهارت های اجتماعی، ارتباطی و فن بیان
روانشناسی و خودیاری
موفقیت
عادات موثر
سلامت و تغذیه سالم
موفقیت شغلی
عبارات تاکیدی
مدیریت اضطراب و خشم
روان درمانی CBT و ACT
شخصیت شناسی و تحلیل روانشناسی
انگیزشی
کودک درون
تکنیک های NLP
یوگا
افزایش حافظه
مدیتیشن
موفقیت تحصیلی
مطالعه موثر
افزایش اعتماد به نفس
افزایش تمرکز
تفکر مثبت
افزایش خلاقیت
نقل قول های انگیزشی

با کلیک بر روی لینک زیر عضو تمامی این کانال ها شوید:

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0

➡️ https://t.me/addlist/AX8uaLK6gE1jNzg0
This media is not supported in your browser
VIEW IN TELEGRAM
🔵 C# Beginners Tutorial - 122 - Drawing With Pen Class pt 2

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

🔴 توجه کنید با تنظیمات خود تلگرام می توانید حجم و کیفیت ویدیو را بر اساس سرعت اینترنت خود تنظیم نمایید.

🟣 C# Beginners Tutorials Playlist

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


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

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

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

آدرس وبسایت:
https://Tutorial24.ir
‏در C# برای سریال‌سازی و دی‌سریال‌سازی JSON، دو رویکرد وجود دارد: Reflection و JsonSourceGenerator.
‏Reflection در زمان اجرا (Runtime) نوع داده را بررسی می‌کند که باعث کاهش سرعت می‌شود. 🐢
‏اما JsonSourceGenerator در زمان کامپایل کد تولید می‌کند که منجر به افزایش کارایی و سرعت بیشتر می‌گردد. 🚀
‏به‌عبارت دیگر، JsonSourceGenerator سریع‌تر و بهینه‌تر از Reflection عمل می‌کند. 👍

https://t.me/csharp7
‏زبان C# و C++ هر دو قدرتمند هستند، اما تفاوت‌های کلیدی دارند:

‏- سطح پیاده‌سازی: C# زبانی با سطح انتزاع بالاتر است و به طور مستقیم با سخت‌افزار کار نمی‌کند. برخلاف C++ که امکان دسترسی سطح پایین به حافظه را فراهم می‌کند، C# از طریق ماشین مجازی دات‌نت (CLR) اجرا می‌شود که مدیریت حافظه را خودکار می‌کند. 💡

‏- ارث‌بری چندتایی: C++ از ارث‌بری چندتایی کلاس‌ها پشتیبانی می‌کند، اما C# این قابلیت را ندارد. در C#، کلاس‌ها فقط می‌توانند از یک کلاس پایه ارث‌بری کنند، اما می‌توانند چندین اینترفیس را پیاده‌سازی کنند. این امر به جلوگیری از مشکلات پیچیده در مدیریت سلسله مراتب کلاس کمک می‌کند. 🧩

‏- ایمنی حافظه: C# به طور پیش‌فرض ایمنی حافظه را تضمین می‌کند. مکانیزم‌هایی مانند garbage collection در CLR از نشت حافظه و خطاهای دسترسی به حافظه جلوگیری می‌کنند. در 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
‏LINQ (Language Integrated Query) قابلیتی قدرتمند در C# است که به شما اجازه می‌دهد با سینتکسی شبیه به SQL، داده‌ها را از منابع مختلف مانند آرایه‌ها، لیست‌ها، پایگاه داده‌ها و XML پرس‌وجو کنید.

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

using System.Linq;

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

‏// فیلتر کردن اعداد زوج با استفاده از LINQ
var evenNumbers = numbers.Where(n => n % 2 == 0);

foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}


‏در این مثال، Where یک متد توسعه (extension method) از LINQ است که یک شرط (lambda expression) را می‌پذیرد و تنها عناصری را برمی‌گرداند که شرط برای آن‌ها برقرار باشد.

‏LINQ همچنین امکان مرتب‌سازی، انتخاب زیرمجموعه‌ای از داده‌ها، گروه‌بندی و عملیات تجمعی مانند Sum، Average و Count را فراهم می‌کند. استفاده از LINQ می‌تواند خوانایی و کارایی کد شما را به طور قابل توجهی افزایش دهد. 🚀💡

https://t.me/csharp7
‏در C#، پروژه‌های قابل اجرای CLR (Common Language Runtime) به طور خودکار Assembly تولید می‌کنند. Assembly ها واحدهای اصلی استقرار و نسخه‌بندی در .NET هستند و حاوی Metadata (فراداده) و کد قابل اجرا می‌باشند.

‏Metadata در واقع اطلاعاتی درباره کد شماست، مثل نام کلاس‌ها، متدها، پارامترها و نوع داده‌ها. CLR از این Metadata برای درک و اجرای کد شما استفاده می‌کند.

‏کد در .NET به دو دسته تقسیم می‌شود:

Managed Code: کدی که توسط CLR مدیریت می‌شود. این کد از خدمات CLR مانند مدیریت حافظه (Garbage Collection)، امنیت و مدیریت استثنا بهره می‌برد.
Unmanaged Code: کدی که مستقیماً توسط سیستم عامل اجرا می‌شود و از خدمات CLR بهره‌مند نیست. این نوع کد معمولاً در زبان‌هایی مانند C یا C++ نوشته می‌شود و نیاز به مدیریت دستی حافظه دارد.

‏Assembly ها می‌توانند شامل هر دو نوع کد باشند، اما برای بهره‌مندی از مزایای CLR، کد شما باید به صورت Managed Code کامپایل شود. 💡⚙️

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

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Media is too big
VIEW IN TELEGRAM
🔵 برنامه نویسی رو از کجا شروع کنم؟

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

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

🟣 مبانی برنامه نویسی

🟢 زبان آموزش: فارسی


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

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

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

آدرس وبسایت:
https://Tutorial24.ir
💡 نکته #SQL

🟣 موضوع : ‏جستجوی جزئی با LIKE و الگوها

نکته :

‏دنبال یه چیزی می‌گردی که وسطش یه کلمه خاص هست؟ 🤔 '%کلمه_خاص%' رو بچسبون به LIKE تا پیداش کنی! مثلاً WHERE اسم LIKE '%علی%' 💡


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

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

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

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

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏در C#، بلوک catch (Exception ex) یک روش متداول برای مدیریت عمومی استثناها است. این بلوک هر نوع خطایی را که در بلوک try رخ دهد، دریافت و مدیریت می‌کند.

try
{
‏ // کدی که ممکن است باعث بروز خطا شود
int result = 10 / 0;
}
catch (Exception ex)
{
‏ // در اینجا خطای رخ داده را مدیریت می‌کنیم
‏ Console.WriteLine($"یک خطا رخ داد: {ex.Message}");
‏ // ex.StackTrace نیز اطلاعات بیشتری از محل وقوع خطا ارائه می‌دهد
}


‏استفاده از catch (Exception ex) به شما اطمینان می‌دهد که هیچ خطایی بدون پردازش باقی نمی‌ماند. با این حال، معمولاً بهتر است استثناهای خاص‌تر را قبل از Exception عمومی مدیریت کنید تا بتوانید پیام‌های خطای دقیق‌تری ارائه دهید و منطق مناسب‌تری برای هر نوع خطا پیاده‌سازی کنید. 💡

‏این رویکرد به خصوص در مراحل اولیه توسعه یا زمانی که ماهیت دقیق خطا از قبل مشخص نیست، کاربردی است. 🛠️

https://t.me/csharp7
‏در C#، مدیریت خطا و استثناها نقش مهمی در پایداری برنامه‌ها دارد. انتشار (throwing) و پرتاب مجدد (rethrowing) استثناها دو تکنیک کلیدی در این زمینه هستند.

‏انتشار استثنا زمانی اتفاق می‌افتد که یک متد با مشکلی مواجه می‌شود که نمی‌تواند آن را مدیریت کند و مسئولیت مدیریت آن را به فراخواننده واگذار می‌کند. این کار با استفاده از کلمه کلیدی throw انجام می‌شود.

‏مثال:
public void ProcessData(string data)
{
if (string.IsNullOrEmpty(data))
{
‏ throw new ArgumentNullException(nameof(data), "ورودی داده نمی‌تواند خالی باشد.");
}
‏ // پردازش داده‌ها...
}


‏پرتاب مجدد استثنا زمانی کاربرد دارد که یک استثنا در بلوک catch گرفته می‌شود، اما منطقی برای مدیریت کامل آن وجود ندارد و نیاز است تا استثنا به سطوح بالاتر برنامه منتقل شود. در این حالت، نباید استثنا را دوباره با throw new ExceptionType(...) ایجاد کرد، بلکه باید از throw; استفاده کرد تا استثنای اصلی با تمام اطلاعاتش (مانند Stack Trace) پرتاب شود.

‏مثال:
try
{
‏ // کدی که ممکن است استثنا ایجاد کند
}
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

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

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

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
‏قابلیت جدید C# 10: تولید کد مقایسه (Equality) توسط کامپایلر ⚙️

‏با استفاده از attribute `[Equality]` در یک record، کامپایلر به طور خودکار متدهای `Equals`, `GetHashCode`, `==`, `!=` را تولید می‌کند. دیگه نیازی به نوشتن boilerplate code نیست! 👌

‏این کار باعث خوانایی بیشتر کد و کاهش احتمال خطا می‌شود. 👌 کد تولید شده، عملکرد بهینه‌ای دارد.

https://t.me/csharp7
💻 تفاوت dotnet script و C# REPL چیه؟

‏dotnet script یه اسکریپت‌رانر C#ـه. یعنی می‌تونی یه فایل ‎.csx رو مستقیم اجرا کنی. برای تست سریع کدها یا اتوماسیون کارهای کوچیک خوبه.

‏C# REPL یه محیط تعاملیه. خط به خط کد می‌زنی و نتیجه رو همون لحظه می‌بینی. برای یادگیری، آزمایش ایده‌ها و دیباگ سریع خیلی کاربردیه. 🧪

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

https://t.me/csharp7
‏در C#، عملگرهای رابطه‌ای برای مقایسه مقادیر انواع داده‌های مختلف استفاده می‌شوند. این عملگرها نتیجه‌ای بولی (True یا False) برمی‌گردانند.

‏- عملگرهای مقایسه‌ای:
‏ - == (برابر است با)
‏ - != (برابر نیست با)
‏ - > (بزرگتر از)
‏ - < (کوچکتر از)
‏ - >= (بزرگتر یا مساوی)
‏ - <= (کوچکتر یا مساوی)

‏مثال مقایسه انواع داده:

اعداد صحیح (int):
```csharp
int a = 10;
int b = 5;
bool isEqual = (a == b); // False
bool isGreater = (a > b); // True
```

اعداد اعشاری (double):
    double x = 10.5;
double y = 10.5;
bool isNotEqual = (x != y); // False


رشته‌ها (string):
‏ مقایسه رشته‌ها حساس به بزرگی و کوچکی حروف است.
```csharp
string name1 = "Ali";
string name2 = "ali";
‏ bool areSame = (name1 == name2); // False (به دلیل تفاوت در بزرگی و کوچکی حروف)
```
‏ برای مقایسه بدون حساسیت به بزرگی و کوچکی حروف، از متدهایی مانند `Equals` با پارامتر `StringComparison.OrdinalIgnoreCase` استفاده می‌شود:
```csharp
bool areSameIgnoreCase = name1.Equals(name2, StringComparison.OrdinalIgnoreCase); // True
```

بولی (bool):
    bool status1 = true;
bool status2 = false;
bool isStatus1True = (status1 == true); // True
bool areStatusesDifferent = (status1 != status2); // True


‏این عملگرها پایه و اساس ساختارهای کنترلی مانند if و حلقه‌ها را تشکیل می‌دهند و به برنامه اجازه می‌دهند تا بر اساس شرایط مختلف، مسیر اجرای خود را تغییر دهد. 💡📊

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

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏C#‎ به شما اجازه میده modifier ها رو در Lambda Expression ها هم استفاده کنید.

```csharp
Func<ref int, int> foo = ref (ref int x) => { x = 1; return x; };
```

‏میتونید از `ref`، `in`، `out` و `params` استفاده کنید. ⚙️ اینطوری انعطاف‌پذیری کدتون بیشتر میشه. 💫 فقط یادتون باشه که signature تابع delegate باید با Lambda Expression یکی باشه.

https://t.me/csharp7
💡 نکته #NoSQL

🟣 موضوع : ‏Benchmarking و Performance Testing

نکته :

‏یادتون باشه که Performance Testing یک فرایند مداوم هستش. همیشه باید تست کنید و بهبود بدید! 🔥🔄


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

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

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

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