بررسی Virtual events در #C
Learn Blazor WebAssembly and Web API on .NET 6 by building a shopping cart application using C#. This course also provides a guide on how to integrate a payment gateway into your Blazor WebAssembly component, so that a user is able to pay for products through your application using a debit or credit card or PayPal account.
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Introduction
⌨️ (0:00:51) Create the Database using EF Core Code First Database Migrations
⌨️ (0:26:05) Retrieve Product Data from Database (Web API component)
⌨️ (0:30:17) Create Classes for Data Transfer Objects (DTOs)
⌨️ (0:36:22) Create ProductRepository Class (Repository Design Pattern)
⌨️ (0:43:05) Create ProductController Class
⌨️ (0:51:08) Create DtoConversion Class (DTO Conversion Extension methods)
⌨️ (0:57:45) Display Product Data to User (Blazor WebAssembly Component)
⌨️ (1:39:59) Display Data for Specific Product to User (Web API and Blazor)
⌨️ (2:06:07) Add Product to Shopping Cart (Web API and Blazor)
⌨️ (2:52:40) Remove Product from Shopping Cart (Web API and Blazor)
⌨️ (3:14:03) Update the Quantity of Products in the Shopping Cart (Web API, Blazor, Blazor JavaScript Interoperability)
⌨️ (3:44:01) Update the Header Menu in Response to a Change to the State of the Shopping Cart (Creating Custom Events in Blazor)
⌨️ (4:04:48) Integration of PayPal Payment Gateway into Blazor Component
⌨️ (4:36:03) Dynamically Populate the Side-Bar Menu (Web API and Blazor)
⌨️ (5:05:44) Optimise Code for Performance (Web API and Blazor)
⌨️ (5:08:26) Use Include Extension Method in LINQ Query (Web API)
⌨️ (5:14:00) User Local Storage Functionality (Blazor)
⌨️ (5:35:42) Outro
During the last Build conference, Microsoft has announced the next
version of Visual Studio with C# 7.3 support. This is yet another minor
language update with some quite interesting features. The main change
was related to generics, starting from C# 7.3 there 3 more constraints: unmanaged
, System.Enum
and System.Delegate
.
POST http://localhost:5000/api/account/login 500 (Internal Server Error) Failed to load http://localhost:5000/api/account/login: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 500.
These are the customer-reported issues addressed in this version:
Visual Studio crashes when you open a solution with a test project.
Visual Studio Freezes in Debug with Chrome.
Failure to install HelpViewer.
UI delay while typing R code.
C# 7.0 Regression in Tuples.
Xamarin - Dynamic Type Platform not supported exception.
Xamarin – Dynamic object is not supported.
Xamarin - Xamarin.iOS: ArgumentNullException for instruction parameter in Mono.Linker's MarkException() method.
خواندن و نوشتن فایل CSV در #C
نوع شمارشی، یک نوع صحیح است و شامل لیستی از ثوابت میباشد که توسط برنامه نویس مشخص میگردد . انواع شمارشی برای تولید کد خودمستند به کار میروند یعنی کدی که به راحتی قابل درک باشد و نیاز به توضیحات اضافه نداشته باشد. زیرا به راحتی توسط نام ، نوع کاربرد و محدوده مقادیرشان قابل درک میباشند . مقادیر نوع شمارشی منحصربه فرد میباشند (unique) و شامل مقادیر تکراری نمیباشند در غیر این صورت کامپایلر خطای مربوطه را هشدار میدهد . نحوه تعریف نوع شمارشی :
enum typename{enumerator-list}
enum Day{SAT,SUN,MON,TUE,WED,THU,FRI}
Day day1,day2; day1 = SAT; day2 = SUN;
enum Day{SAT=1,SUN=2,MON=4,TUE=8,WED=16,THU=32,FRI=64}
enum Day{SAT=1,SUN,MON,TUE,WED,THU,FRI}
میتوان به شمارشگرها مقادیر یکسانی نسبت داد
enum Answer{NO=0,FALSE=0,YES=1,TRUE=1,OK=1}
enum Answer{NO=0,FALSE=0,YES=1,YES=2,OK=1}
1- enum سبب میشود که شما مقادیر مجاز و قابل انتظار را به متغیرهایتان نسبت دهید .
2- enum اجازه میدهد با استفاده از نام به مقدار دستیابی پیدا کنید پس کدهایتان خواناتر میشود .
3- با استفاده از enum تایپ کدهایتان سریع میشود زیرا IntelliSense در مورد انتخاب گزینه مناسب شما را یاری میدهد .
چند تعریف از enum :
enum Color{RED,GREEN,BLUE,BLACK,ORANGE} enum Time{SECOND,MINUTE,HOUR} enum Date{DAY,MONTH,YEAR} enum Language{C,DELPHI,JAVA,PERL} enum Gender{MALE,FEMALE}
اما تغییراتی که در c++11 اعمال شده : Type-Safe Enumerations
فرض کنید دو enum تعریف کرده اید و به شکل زیر میباشد
enum Suit {Clubs, Diamonds, Hearts, Spades}; enum Jewels {Diamonds, Emeralds, Opals, Rubies, Sapphires};
برای تعریف جدیدی که در c++11 داده شده کلمه کلیدی class بعد از کلمه enum مورد استفاده قرار میگیرد . به طور مثال تعریف دو enum پیشین که با خطا مواجه میشد بصورت زیر تعریف میشود و از کامپایلر خطایی دریافت نمیکنیم .
enum class Suit {Clubs, Diamonds, Hearts, Spades}; enum class Jewels {Diamonds, Emeralds, Opals, Rubies, Sapphires};
enum Suit {Clubs, Diamonds, Hearts, Spades}; Suit var1 = Clubs; int var2= Clubs;
enum class Jewels {Diamonds, Emeralds, Opals, Rubies, Sapphires}; Jewels typeJewel = Jewels::Emeralds; int suitValue = static_cast<int>(typeJewel);
یک مثال کلی و جامعتر :
// Demonstrating type-safe and non-type-safe enumerations #include <iostream> using std::cout; using std::endl; // You can define enumerations at global scope //enum Jewels {Diamonds, Emeralds, Rubies}; // Uncomment this for an error enum Suit : long {Clubs, Diamonds, Hearts, Spades}; int main() { // Using the old enumeration type... Suit suit = Clubs; // You can use enumerator names directly Suit another = Suit::Diamonds; // or you can qualify them // Automatic conversion from enumeration type to integer cout << "suit value: " << suit << endl; cout << "Add 10 to another: " << another + 10 << endl; // Using type-safe enumerations... enum class Color : char {Red, Orange, Yellow, Green, Blue, Indigo, Violet}; Color skyColor(Color::Blue); // You must qualify enumerator names // Color grassColor(Green); // Uncomment for an error // No auto conversion to numeric type cout << endl << "Sky color value: "<< static_cast<long>(skyColor) << endl; //cout << skyColor + 10L << endl; // Uncomment for an error cout << "Incremented sky color: " << static_cast<long>(skyColor) + 10L // OK with explicit cast << endl; return 0; }
we extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends.