e7f7

آموزش مقدماتی تا پیشرفته Blazor WebAssembly

کدسل برنامه نویسی وب Blazor

لینک کوتاه https://codecell.ir/course/e7f7
1٬300٬000تومان
مدرس: سهراب قیصری
تعداد ویدیوها: 47
مدت زمان دوره: 19:16:19
وضعیت دوره: به اتمام رسیده
آخرین بروزرسانی: 1403/01/30
به اشتراک گذاری
نظرات
0
دیگر آموزش های مدرس:
آموزش Blazor WebAssembly

تکامل توسعه وب شاهد تغییری پویا در نحوه ایجاد برنامه های کاربردی وب تعاملی و غنی از ویژگی های توسعه دهندگان بوده است. با ظهور WebAssembly(یک زبان اسمبلی سطح پایین که برای اجرای کارآمد در مرورگرهای وب طراحی شده است) توسعه دهندگان اکنون توانایی ساخت برنامه های کاربردی وب با کارایی بالا را با استفاده از زبان هایی غیر از جاوا اسکریپت دارند. Blazor، یک چارچوب وب پیشرفته است که توسط مایکروسافت توسعه یافته است و از WebAssembly برای فعال کردن توسعه برنامه های وب full-stack با استفاده از C# به جای جاوا اسکریپت استفاده می کند. Blazor WebAssembly قدرت دات نت را به سمت کلاینت می آورد و تجربه توسعه یکپارچه و غنی را برای برنامه های کاربردی وب مدرن ایجاد می کند.

Blazor  چیست؟

Blazor یک فریمورک برای ایجاد رابط های کاربری وب تعاملی سمت کلاینت با استفاده از دات نت و سی شارپ است.

کامپوننت ها در Blazor

برنامه های Blazor مبتنی بر کامپوننت ها هستند. یک کامپوننت در Blazor یک عنصر از UI است، مانند صفحات، دیالوگ ها یا فرم های ورود اطلاعات. در Blazor کامپوننت‌ ها کلاس‌ های NET C# هستند که در اسمبلی های NET تعبیه شده‌اند.

از مهمترین ویژگی های کامپوننت ها در Blazor می توان به موارد زیر اشاره کرد:

  • امکان تعریف منطق رندر رابط کاربری انعطاف پذیر
  • مدیریت رویدادها یا event ها کاربر
  • قابلیت استفاده تودرتو و استفاده مجدد از آن
  • امکان به اشتراک گذاری و توزیع آن ها به صورت کتابخانه های کلاس Razor یا بسته های NuGet

در Blazor کلاس کامپوننت معمولاً به شکل صفحه Razor با پسوند فایل .razor نوشته می شود. کامپوننت ها در Blazor به طور رسمی به عنوان اجزای Razor و به طور غیر رسمی به عنوان اجزای Blazor شناخته می شوند. Razor یک نحو برای ترکیب نشانه گذاری HTML با کد C# است که برای بهره وری توسعه دهندگان طراحی شده است. Razor به شما این امکان را می دهد که با پشتیبانی از برنامه نویسی IntelliSense در ویژوال استودیو، بین HTML و C# در یک فایل جابجا شوید.

JavaScript interop در Blazor

در Blazor برای برنامه‌هایی که به کتابخانه‌های جاوا اسکریپت شخص ثالث و دسترسی به API های مرورگر نیاز دارند، کامپوننت ها می توانند با جاوا اسکریپت تعامل دارند. کامپوننت ها می توانند از هر کتابخانه یا API که جاوا اسکریپت قادر به استفاده از آن است استفاده کند. کد سی شارپ می‌تواند کد جاوا اسکریپت را و کد جاوا اسکریپت، کد سی شارپ را فراخوانی کند.

انواع میزبانی ها در Blazor

فریمورک Blazor دو نوع میزبانی را ارائه می دهد. Blazor WebAssembly و Blazor Server. همانطور که از نام ها پیداست، پروژه Blazor Server بر روی سرور و Blazor WebAssembly در سمت کلاینت در مرورگر اجرا می شود.

آشنایی با Blazor WebAssembly

Blazor WebAssembly یک چارچوب وب است که به توسعه دهندگان اجازه می دهد تا برنامه های وب تعاملی را با استفاده از C# و .NET در مرورگر بسازند. این امکان ایجاد برنامه های کاربردی وب سمت کلاینت را بدون نیاز به جاوا اسکریپت فراهم می کند و به توسعه دهندگان قدرت C# و .NET را برای ایجاد برنامه های وب پویا و قوی ارائه می دهد. با اجرای runtime دات نت در مرورگر، Blazor WebAssembly توسعه برنامه های کاربردی یک صفحه (SPA) را با تعامل و پاسخگویی غنی تسهیل می کند.

اجرای کد دات نت در داخل مرورگرهای وب توسط WebAssembly به اختصار wasm امکان پذیر است. WebAssembly یک فرمت بایت کد فشرده است که برای دانلود سریع و حداکثر سرعت اجرا بهینه شده است. WebAssembly  یک استاندارد وب باز است و در مرورگرهای وب بدون افزونه پشتیبانی می شود. WebAssembly در تمام مرورگرهای وب مدرن از جمله مرورگرهای تلفن همراه کار می کند.

کد WebAssembly می تواند از طریق جاوا اسکریپت به عملکرد کامل مرورگر دسترسی پیدا کند که JavaScript interoperability نامیده می شود که اغلب به صورت JavaScript interop یا JS interop خلاصه می شود. کد دات نت از طریق WebAssembly در JavaScript sandbox اجرا می شود و مرورگر از آن در برابر اعمال مخرب روی دستگاه کلاینت محافظت می کند.

Blazor WebAssembly

 

ویژگی های کلیدی Blazor WebAssembly

1. سازگاری کامل با اکوسیستم دات نت

Blazor WebAssembly به طور یکپارچه با کل اکوسیستم دات نت ادغام می شود و توسعه دهندگان را قادر می سازد تا از کتابخانه ها و ابزارهای موجود دات نت برای ساخت برنامه های کاربردی وب قدرتمند و غنی استفاده کنند. این سازگاری تضمین می کند که توسعه دهندگان می توانند از دانش و مهارت های موجود خود در C# و .NET استفاده کنند و منحنی یادگیری را کاهش داده و بهره وری را افزایش دهند.

2. مدل کامپوننت غنی

Blazor WebAssembly یک مدل کامپوننت غنی را ارائه می دهد که به توسعه دهندگان اجازه می دهد تا با استفاده از سی شارپ اجزای رابط کاربری قابل استفاده مجدد را ایجاد کنند. این مؤلفه‌ها را می‌توان به راحتی در بخش‌های مختلف برنامه ترکیب کرد و به اشتراک گذاشت، که منجر به یک پایگاه کد ماژولارتر و قابل نگهداری می‌شود. مدل مؤلفه، قابلیت استفاده مجدد کد را تشویق می کند، شیوه های توسعه کارآمد را ترویج می کند و معماری کلی برنامه را بهبود می بخشد.

3. اتصال دو طرفه داده ها

Blazor WebAssembly از اتصال دو طرفه یا two-way data binding داده پشتیبانی می کند و امکان همگام سازی خودکار داده ها بین رابط کاربری و مدل داده برنامه را فراهم می کند. این ویژگی با از بین بردن نیاز به دستکاری دستی  DOM، فرآیند توسعه را ساده می‌کند و به توسعه‌دهندگان اجازه می‌دهد بیشتر بر منطق برنامه و تجربه کاربر تمرکز کنند. اتصال دو طرفه داده ها، کارایی کلی توسعه برنامه را افزایش می دهد و به گردش کار توسعه نرم تر کمک می کند.

4. سینتکس Razor

Blazor WebAssembly از سینتکس Razor که ترکیبی از کدهای HTML و C# است برای ایجاد محتوای وب پویا استفاده می کند. این نحو فرآیند ساخت صفحات وب پویا را با ادغام یکپارچه کد C# در نشانه گذاری HTML ساده می کند. با سینتکس Razor، توسعه‌دهندگان می‌توانند برنامه‌های وب پویا و مبتنی بر داده‌ها را بدون پیچیدگی مدیریت منطق مشتری و سرور مجزا، ساده‌سازی فرآیند توسعه و افزایش خوانایی کد ایجاد کنند.

5. عملکرد بالا

Blazor WebAssembly برای ارائه برنامه های کاربردی وب با کارایی بالا با استفاده از قابلیت های WebAssembly طراحی شده است. با اجرای کد دات نت به طور مستقیم در مرورگر، Blazor WebAssembly نیاز به رفت و برگشت سرور برای هر تعامل کاربر را از بین می برد و در نتیجه زمان بارگذاری سریعتر و پاسخگویی بهتر را به همراه دارد. عملکرد بهینه Blazor WebAssembly به تجربه کاربری یکپارچه و جذاب کمک می کند و آن را به انتخابی ایده آل برای ساخت برنامه های وب مدرن تبدیل می کند.

محدودیت ها و تحولات آینده

در حالی که Blazor WebAssembly یک چارچوب قدرتمند برای ساخت برنامه های کاربردی وب ارائه می دهد، مهم است که محدودیت ها و پیشرفت های احتمالی آینده را در نظر بگیرید. برخی از ملاحظات کلیدی عبارتند از:

  • زمان بارگذاری اولیه: اندازه برنامه Blazor WebAssembly می تواند بر زمان بارگذاری اولیه تأثیر بگذارد، که ممکن است بر تجربه کاربر تأثیر بگذارد، به خصوص در مناطقی که اتصال اینترنت کندتر دارند.
  • سازگاری با مرورگر: در حالی که مرورگرهای مدرن اصلی از WebAssembly پشتیبانی می کنند، اطمینان از اینکه مخاطب هدف از مرورگرهای سازگار برای عملکرد مطلوب برنامه استفاده می کند، ضروری است.
  • اندازه Runtime: اندازه Runtime دات نت می تواند به اندازه کلی برنامه اضافه کند و به طور بالقوه بر زمان بارگذاری و عملکرد برنامه تأثیر بگذارد.

همانطور که چشم انداز توسعه وب به تکامل خود ادامه می دهد، مایکروسافت و جامعه منبع باز فعالانه در حال کار بر روی بهبود Blazor WebAssembly، رفع این محدودیت ها، و معرفی ویژگی های جدید برای بهبود تجربه توسعه هستند.

Blazor Server

Blazor Server پشتیبانی از میزبانی کامپوننت های Razor بر روی سرور در یک برنامه ASP.NET Core را مهیا می کند. به روز رسانی های رابط کاربری در Blazor Server از طریق یک اتصال SignalR انجام می شود.

از اتصالی که توسط Blazor Server برای برقراری ارتباط با مرورگر استفاده می‌شود، برای مدیریت درخواست های جاوا اسکریپت نیز استفاده می‌شود.

سرفصل های دوره Blazor WebAssembly پیشرفته

ما در این دوره آموزشی Blazor WASM را به صورت پایه تا پیشرفته تحت دات نت 7 و دات نت 8 آموزش خواهیم داد. سرفصل های این دوره آموزشی به شرح زیر است:

  • بررسی Blazor WASM و ساختار آن
  • کار با Component ها
  • Arbitrary Parameter ها، Cascading Value ها و Cascading Parameter ها
  • RenderFragment، LifeCycle و Rendering
  • Partial Class ها، css Isolation و نحوه استفاده از پیش پردازنده sass
  • Generic Type ها و Cascading Generic Type
  • Templated Component ها
  • Component Virtualization
  • Head Content و Page Title
  • Routing
  • JSInterop و JsIsolation
  • Data Binding و Event Binding
  • Data Binding در کامپوننت ها
  • Event Handeling
  • Blazor Section
  • نحوه ایجاد و فراخوانی WebApi و انجام عملیات CRUD در دات نت 8
  • EditForm
  • اعتباری سنجی فرم از طریق DataAnnotation و FluentValidation
  • نحوه شخصی سازی Validation Message
  • ErrorBoundary
  • مدیریت خطاهای Http
  • Configuration
  • State Management ها
  • نحوه استفاده از Result Pattern در Minimal ها (دات نت 8)
  • Global Error Handeling در دات نت 8
  • احراز هویت JWT در Blazor با استفاده از Minimal Api ها و دات نت 8
  • پیاده سازی Refresh Token
  • AuthenticationStateProvider
  • کار با Toast
  • کامپوننت QuickGrid
  • پابلیش پروژه روی سرور ویندوزی
  • SignalR

نتیجه گیری

Blazor WebAssembly یک رویکرد پیشگامانه برای توسعه وب است که به توسعه دهندگان این امکان را می دهد تا از قدرت سی شارپ و دات نت برای ساخت برنامه های کاربردی وب با کارایی بالا، تعاملی و با ویژگی های غنی استفاده کنند. Blazor WebAssembly با ادغام یکپارچه با اکوسیستم دات نت، مدل اجزای غنی، اتصال دو طرفه داده و سینتکس  Razor، فرآیند توسعه را ساده می کند و به توسعه دهندگان این امکان را می دهد تا برنامه های کاربردی وب مدرن را به راحتی ایجاد کنند. با توجه به محدودیت‌های آن، پیشرفت‌های مستمر در چارچوب Blazor آینده‌ای هیجان‌انگیز را برای توسعه وب، پرورش نوآوری و خلاقیت در ایجاد برنامه‌های کاربردی وب پیشرفته نوید می‌دهد.

در پایان، Blazor WebAssembly یک راه حل قانع کننده برای توسعه دهندگانی ارائه می دهد که به دنبال ایجاد برنامه های کاربردی وب قوی و تعاملی هستند، که تکامل توسعه وب را پیش می برد و آینده تجربیات وب مدرن را شکل می دهد.

فهرست ویدیوها
مدت زمان دوره: 19:16:19
01

ایجاد پروژه و بررسی Blazor WebAssembly

00:31:06
02

کار با Component و Parameter ها در Blazor

00:15:14
03

Arbitrary Parameter ها، Cascading Value ها و Cascading Parameter ها در Blazor

00:21:31
04

RenderFragment، LifeCycle و Rendering در Blazor

00:23:20
05

Partial Class ها، css Isolation و نحوه استفاده از پیش پردازنده sass در Blazor

00:20:11
06

Generic Type ها و Cascading Generic Type در Blazor

00:21:53
07

Templated Component ها در Blazor

00:37:28
08

Component Virtualization در Blazor

00:27:53
09

مدیریت Head Content و Page Title در Blazor

00:05:41
10

Routing در Blazor

00:25:26
11

JSInterop و JsIsolation در Blazor

00:26:13
12

فراخوانی .NET از طریق JavaScript در Blazor

00:17:58
13

ElementReference در Blazor

00:21:00
14

Data Binding و Event Binding در Blazor

00:46:39
15

Event Handeling در Blazor

00:43:00
16

Blazor Section در net8

00:08:38
17

نحوه فراخوانی WebApi و انجام عملیات CRUD در Blazor با .net8

01:20:12
18

Data Binding در کامپوننت ها

00:36:48
19

EditForm در Blazor

00:08:48
20

اعتباری سنجی فرم از طریق DataAnnotation در Blazor

00:13:29
21

اعتباری سنجی فرم از طریق FluentValidation در Blazor

00:13:00
22

نحوه ایجاد کامپوننت های شخصی سازی کردن نمایش Validation Message در Blazor

00:22:34
23

مدیریت خطا با استفاده از ErrorBoundary در Blazor

00:10:42
24

نحوه مدیریت خطاهای Http در Blazor

00:23:00
25

نحوه استفاده از Configuration در Blazor

00:12:43
26

State Management در Blazor WASM

00:24:44
27

آموزش احراز هویت JWT در Blazor با استفاده از Minimal Api ها و دات نت 8- قسمت اول

00:49:34
28

نحوه ایجاد توکنJWT در دات نت 8- قسمت دوم

00:28:27
29

ایجاد صفحه ثبت نام کاربران در Blazor- قسمت سوم

00:32:26
30

ایجاد صفحه لاگین و گرفتن توکن - قسمت چهارم

00:17:00
31

نحوه رمزنگاری Local Storage و ایجاد AuthenticationStateProvider در Blazor

00:37:17
32

نحوه Logout کردن کاربر و ست کردن Bearer Token در هدر درخواست

00:26:51
33

نحوه اضافه کردن Bearer Token به هدر درخواست با استفاده از DelegatingHandler

00:11:53
34

پیاده سازی RefreshToken در .net8

00:19:36
35

نحوه استفاده از RefreshToken در Blazor WASM

00:24:46
36

نحوه ایجاد و استفاده از کامپوننت Modal بوت استرپ بدون جاوااسکریپت در Blazor

00:32:06
37

نحوه آپلود فایل در Blazor WASM

00:30:00
38

نحوه دانلود فایل در Blazor WASM

00:18:57
39

Dynamic Component ها در Blazor

00:15:45
40

نحوه استفاده از Toast در Blazor

00:20:14
41

نحوه استفاده از کامپوننت QuickGrid در Blazor

00:26:41
42

Localization و چند زبانی در Blazor

00:22:55
43

نحوه پابلیش گرفتن و هاست کردن پروژه روی پنل پلسک

00:04:49
44

نحوه استفاده از SignalR در Blazor و ایجاد اپ های Realtime

00:22:04
45

مهارت در Blazor- نحوه ایجاد کامپوننت پیشرفته SelectList

00:30:36
46

آشنایی با نحوه Unit Testing در Blazor

00:19:44
47

Streaming در Blazor WASM

00:25:27

پرسش های متداول

Blazor WebAssembly یک چارچوب برنامه تک صفحه ای (SPA) برای ساخت برنامه های وب تعاملی سمت مشتری با دات نت است. اجرای کد دات نت در داخل مرورگرهای وب توسط WebAssembly (به اختصار wasm) امکان پذیر است. WebAssembly یک فرمت بایت کد فشرده است که برای دانلود سریع و حداکثر سرعت اجرا بهینه شده است.

Blazor امکان اجرای کد را مستقیماً در سمت کلاینت فراهم می کند و در نتیجه زمان بارگذاری سریعتر و تجربه کاربر بهبود می یابد. از سوی دیگر، Angular به یک DOM مجازی متکی است که می تواند مقداری سربار را معرفی کند.

Blazor می‌تواند زمان‌های بارگذاری اولیه سریع‌تری نسبت به React ارائه دهد، اما همچنین اندازه بسته‌ای بزرگ‌تر از React دارد، زیرا شامل Runtime  و کتابخانه های NET. است. Blazor می تواند زمان های رندر سریع تری نسبت به React ارائه دهد، زیرا نیازی به ارسال داده به مرورگر ندارد.

Blazor از نظر ساخت و اشکال زدایی بسیار سریع است. از آنجایی که از Visual Studio و کل تجربه انباشته شده در میان ابزارها و پلاگین های آن بهره می برد، توسعه و اشکال زدایی می تواند بسیار سریع باشد.

Blazor جایگزینی برای جاوا اسکریپت است اما هنوز کامل نیست. Blazor بسیاری از ویژگی های استاندارد مرورگر را که به آنها عادت کرده اید و در برنامه های وب مدرن استفاده می شود، پشتیبانی می کند، اما نه همه آن ها.

برنامه‌های Blazor Server به منابع سرور و شبکه که برنامه در حال اجرا است دسترسی مستقیم دارند. از آنجایی که برنامه های Blazor WebAssembly روی یک کلاینت اجرا می شوند، دسترسی مستقیم به منابع سرور و شبکه ندارند.

عملکرد برنامه‌های Blazor کاملاً در سمت کلاینت اجرا می‌شوند و می‌توانند از WebAssembly برای اجرا با سرعت‌های تقریباً اصلی استفاده کنند. این می تواند منجر به برنامه های کاربردی سریع تر و پاسخگوتر در مقایسه با چارچوب های جاوا اسکریپت شود.

مقالات آموزش برنامه نویسی مدرس

Response Caching در ASP.NET Core

Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.

305 0 1402/10/22

Output Caching در ASP.NET Core 8.0

Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.

353 0 1402/10/14

الگوی طراحی زنجیره مسئولیت در سی شارپ

الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه می‌دهد یک درخواست در امتداد زنجیره‌ای از کنترل‌کننده‌های بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.

337 2 1402/10/01

ViewComponent در ASP.NET Core

در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.

797 2 1402/05/15

تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها

تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.

479 1 1402/04/05

تزریق وابستگی در ASP.NET Core

تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.

1٬161 1 1402/02/04

ضروری ترین کتابخانه های NuGet برای ASP.NET Core

در این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر توسعه‌ دهنده‌ ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز برای برنامه ‌های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.

1٬113 1 1401/12/29

الگوی طراحی Factory در سی شارپ

الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم می‌کند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.

1٬139 1 1401/10/28

مقایسه List و Array در سی شارپ

آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.

1٬657 2 1401/09/01

LinkedList در سی شارپ

LinkedList یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ، LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.

1٬593 0 1401/08/13

Garbage Collection در دات نت

به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.

2٬300 3 1401/03/30

.NET Core چیست؟

.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.

2٬083 2 1401/03/16

پشته(Stack) در سی شارپ

پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.

1٬776 0 1401/03/09

صف (Queue) در سی شارپ

صف (Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.

1٬780 0 1401/02/30

تفاوت Hashtable و Dictionary در سی شارپ

در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.

1٬511 1 1401/02/23

Dictionary در سی شارپ

در سی شارپ از دیکشنری ها (Dictionary) می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند.

1٬835 3 1401/02/17

Hashtable در سی شارپ

از Hashtable می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.

1٬475 5 1401/02/14

Redirect درخواست (ریدایرکت) در asp.net core

در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.

2٬087 5 1401/02/12

تبدیل enum به لیست انتخابی در asp.net core

در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.

1٬500 3 1401/02/03

نحوه ارسال ایمیل در asp و c#

امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.

2٬118 5 1401/02/03
نظرات

برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید