C# Full Course for free 🎮
C# tutorial beginners full course (C# for Unity)
⭐️Time Stamps⭐️
#1 (00:00:00) C# tutorial for beginners
#2 (00:06:30) output 💬
#3 (00:10:48) variables ✖️
#4 (00:19:32) constants π
#5 (00:20:35) type casting 💱
#6 (00:27:49) user input ⌨️
#7 (00:31:24) arithmetic operators 🧮
#8 (00:35:54) Math class 📏
#9 (00:40:55) random numbers 🎲
#10 (00:44:27) hypotenuse calculator program 📐
#11 (00:46:35) string methods 🔤
#12 (00:53:26) if statements 🤔
#13 (00:59:43) switches 🔀
#14 (01:02:50) logical operators && || 🔣
#15 (01:06:36) while loops ♾️
#16 (01:09:45) for loops 🔁
#17 (01:13:24) nested loops ➿
#18 (01:18:28) number guessing game 🔢
#19 (01:27:08) rock-paper-scissors game 🗿
#20 (01:38:52) calculator program 🖩
#21 (01:46:53) arrays 🚗
#22 (01:52:50) foreach loop ➰
#23 (01:54:42) methods 📞
#24 (02:00:37) return keyword ↩️
#25 (02:04:12) method overloading 🤯
#26 (02:05:44) params keyword ⚙️
#27 (02:08:52) exception handling ⚠️
#28 (02:13:53) conditional operator ❓
#29 (02:16:53) string interpolation 💲
#30 (02:20:18) multidimensional arrays ⬜
#31 (02:25:23) classes 📦
#32 (02:30:07) objects 🧍♂️
#33 (02:34:58) constructors 👷
#34 (02:40:41) static 🚫
#35 (02:45:43) overloaded constructors 🍕
#36 (02:50:04) inheritance 👪
#37 (02:54:32) abstract classes 👻
#38 (02:57:08) array of objects 🏬
#39 (03:00:57) objects as arguments 🧳
#40 (03:05:15) method overriding 🙅
#41 (03:09:07) ToString method 💭
#42 (03:12:34) polymorphism 🎭
#43 (03:17:44) interfaces 🐟
#44 (03:23:22) Lists 📃
#45 (03:30:07) List of objects 🦸♂️
#46 (03:33:35) getters & setters 🔒
#47 (03:37:41) auto implemented properties 🔐
#48 (03:40:26) enums 🪐
#49 (03:47:33) generics ⁉️
#50 (03:52:56) multithreading 🧶
اشتراکها
نظرات اشتراکها
معرفی DNTPersianComponents.Blazor
سلام
DNTPersianUtils با Net 6. هنگام پابلیش چنین خطایی صادر میکند
C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.0\Sdk\WasmApp.Native.targets(506,5): Error : Precompiling failed for C:\Users\A-Pc\source\repos\Wasm\Client\obj\Release\net6.0\linked\DNTPersianUtils.Core.dll
We are thrilled to announce the preview release of C# Dev Kit, a new Visual Studio Code extension that brings an improved editor-first C# development experience to Linux, macOS, and Windows.
اشتراکها
نقشه ذهنی #C
اشتراکها
C یک زبان سطح پایین نیست
طبق این معرفی ، جنریکها باعث میشوند که نوع دادهای (data type) المانهای برنامه در زمان استفاده از آنها در برنامه مشخص شوند. به عبارت دیگر، جنریک به ما اجازه میدهد کلاسها یا متدهایی بنویسیم که میتوانند با هر نوع دادهای کار کنند.
در کد بالا کلاسی تعریف شده است که میتواند بر روی آرایههایی از نوع دادهای مختلف عملیات درج و حذف را انجام دهد. برای تعریف کلاس جنریک کافی است عبارت <T> بعد از نام کلاس خود اضافه کنید، سپس همانند سایر کلاسها از این نوع داده ای در کلاس استفاده کنید. در مثال بالا یک آرایه از نوع T تعریف شده است که این نوع، در زمان استفاده مشخص خواهد شد. (یعنی در زمان استفاده از کلاس مشخص خواهد شد که چه نوع آرایه ای ایجاد میشود)
زمانی که کد بالا اجرا میشود خروجی زیر بدست میآید:
نکاتی از جنریکها:
- برای به حداکثر رسانی استفاده مجدد از کد، type safety و کارایی است.
- بیشترین استفاده مشترک از جنریکها جهت ساختن کالکشن کلاسها (collection classes) است.
- تا حد ممکن از جنریک کالکشن کلاسها (generic collection classes) جدید فضای نام System.Collections.Generic بجای کلاسهایی مانند ArrayList در فضای نام System.Collections استفاده شود.
- شما میتوانید اینترفیس جنریک ، کلاس جنریک ، متد جنریک و عامل جنریک سفارشی خودتان تهیه کنید.
- جنریک کلاسها، ممکن است در دسترسی به متدهایی با نوع دادهای خاص محدود شود.
- بوسیله reflection، میتوانید اطلاعاتی که در یک جنریک در زمان اجرا (run-time) قرار دارد بدست آورید.
انواع جنریک ها:
- کلاسهای جنریک
- اینترفیسهای جنریک
- متدهای جنریک
- عاملهای جنریک
در قسمت اول به معرفی کلاس جنریک میپردازیم.
کلاسهای جنریک
کلاس جنریک یعنی کلاسی که میتواند با چندین نوع داده کار کند برای آشنایی با این نوع کلاس به کد زیر دقت کنید:
using System; using System.Collections.Generic; namespace GenericApplication { public class MyGenericArray<T> { // تعریف یک آرایه از نوع جنریک private T[] array; public MyGenericArray(int size) { array = new T[size + 1]; } // بدست آوردن یک آیتم جنریک از آرایه جنریک public T getItem(int index) { return array[index]; } // افزودن یک آیتم جنریک به آرایه جنریک public void setItem(int index, T value) { array[index] = value; } } }
در کد زیر نحوه استفاده از کلاس جنریک نشان داده شده است، همانطور که مشاهده میکنید نوع کلاس int و char در نظر گرفته شده است (نوع کلاس، زمان استفاده از کلاس مشخص میشود) و سپس آرایه هایی از نوع int و char ایجاد شده است و 5 آیتم از نوع int و char به آرایههای هم نوع افزوده شده است.
class Tester { static void Main(string[] args) { // تعریف یک آرایه از نوع عدد صحیح MyGenericArray<int> intArray = new MyGenericArray<int>(5); // افزودن اعداد صحیح به آرایه ای از نوع عدد صحیح for (int c = 0; c < 5; c++) { intArray.setItem(c, c*5); } // بدست آوردن آیتمهای آرایه ای از نوع عدد صحیح for (int c = 0; c < 5; c++) { Console.Write(intArray.getItem(c) + " "); } Console.WriteLine(); // تعریف یک آرایه از نوع کاراکتر MyGenericArray<char> charArray = new MyGenericArray<char>(5); // افزودن کاراکترها به آرایه ای از نوع کاراکتر for (int c = 0; c < 5; c++) { charArray.setItem(c, (char)(c+97)); } // بدست آوردن آیتمهای آرایه ای از نوع کاراکتر for (int c = 0; c< 5; c++) { Console.Write(charArray.getItem(c) + " "); } Console.WriteLine(); Console.ReadKey(); } }
0 5 10 15 20 a b c d e
- XAML designer for UWP - control properties not displayed
- UWP XAML designer doesn't update elements on updating XAML code
- XAML properties and document structure
- Properties window not showing the properties when clicking an object
- Unable to see properties of any items
- Installation error when trying to connect to the Mac: "The Xamarin.iOS version installed on 'x' (12.8.0.2) is newer than your version".
- Fixed right click solution name in titlebar VS crash bug.
- Improved performance for customers with the Azure workload installed.
- Corrected errors during restore and build on SDK-based projects that use 3rd party SDKs to target UWP platforms.
- Fixed a bug in C# compiler where it was not properly warning customers about incomplete interface implementations.
- Improved error messaging in Visual Studio Tools for Kubernetes.
- Fixed error when adding a comment in PR for SymbolCheck.
بازخوردهای پروژهها
توضیحاتی در مورد سیستم Identity پروژه
سلام.
ببینید پروژه شما طوری طراحی شده که میشه به هر Role چندین مجوز داده بشه.
فرض کنید مجوزهای ما به این صورت هستند : مجوز A و B و C و D و E و ...
مثلا Role "مدیرارشد" دارای مجوز های A و B و C و D و E هستش
و Role "مدیر" دارای مجوزهای C و D و E
زمانی که مثلا میخوام یک کاربر ثبت نام کنم میتونم دو نقش مدیر و مدیر ارشد رو بهش بدم در صورتی که مجوزهای مشترکی بینشون هست . میخواستم بدونم دقیقا اصول این طراحی بر چه اساسه. آیا نیاز است این اجازه رو به کاربرا بدیم که به کاربرتعریف شده توسط خودشان چند Role اختصاص بدن ؟
ممنون میشم اگر یک خورده در این مورد توضیح بدید
ببینید پروژه شما طوری طراحی شده که میشه به هر Role چندین مجوز داده بشه.
فرض کنید مجوزهای ما به این صورت هستند : مجوز A و B و C و D و E و ...
مثلا Role "مدیرارشد" دارای مجوز های A و B و C و D و E هستش
و Role "مدیر" دارای مجوزهای C و D و E
زمانی که مثلا میخوام یک کاربر ثبت نام کنم میتونم دو نقش مدیر و مدیر ارشد رو بهش بدم در صورتی که مجوزهای مشترکی بینشون هست . میخواستم بدونم دقیقا اصول این طراحی بر چه اساسه. آیا نیاز است این اجازه رو به کاربرا بدیم که به کاربرتعریف شده توسط خودشان چند Role اختصاص بدن ؟
ممنون میشم اگر یک خورده در این مورد توضیح بدید