02_02 C#

02_02 C#

  
Please download the sample code here. Sample Code
================================
【 C# 深入解析 】
課程編號: 29f1196a-1950-41a4-b9c1-dd13a9e92d92 深入了解Generic, Reflection和Attribute, Partial Class, Partial Method, 讓您的程式碼更好擴充。攻略各種Collection, 包含Indexer, Dictionary, List, Stack還有Queue。接下來學習更進階的Func, Delegate, Lamda匿名型別和方法。更進一步學習Thread, Async和Await, 同步和非同步處理。 #IT工具人折價眷官網 http://ithandyguytutorial.obior.cc/ #IT工具人講義部落格 https://ithandyguytutorial.blogspot.com.au #IT工具人Youtube頻道 https://www.youtube.com/user/lpmplpmp/playlists #IT工具人課程課後輔導討論版 https://www.facebook.com/groups/934567793358849/ #IT工具人臉書頁 https://www.facebook.com/Ithandyguytutorial-2353578301334227/ 此講義目錄Table of Content: https://ithandyguytutorial.blogspot.com/p/c-foundation.html 此YouTube PlayList: https://www.youtube.com/playlist?list=PLXstZ12GxF9zu30eCmbuxxk0SnOqIe7WA ------------------------------------ 如果喜歡我的課程,以下都是鼓勵我繼續寫課程的動力唷。 1. 請訂閱我的Youtube頻道追蹤我的最新消息。私人影片的部分為付費影片,如欲購買,請來「IT工具人折價眷官網」 2. 請「盡量」用 「IT工具人折價眷官網」提供的折價眷,來購買我的課程唷,讓我可以分潤多一點點。 3. 購買課程並且上完課後,如果覺得不錯,請不吝留下您的好評價。
================================

.NET Framework學習之路.

此為.NET Framework學程中的其中一門課。

Sample

Please download the sample code here. C#Foundation_SampleCode

Tools

Tools installation and settings instruction.
Please install SQL Server and Visual Studio for this tutorial.

本課程

T00B_01_WhatToLearn_C#
T00B_01: 課程導讀_C#學什麼

C# Basic
第1章: C#基礎介紹


T001_CSharpBasic_Nullable
----------------------
Tutorial01講義: C#的各個型別包括介紹Nullable
Tutorial01: C#的各個型別包括介紹Nullable



T002_CSharpOO
----------------------
Tutorial02講義: C#的物件導向,關於Base Class,Sub Class,Interface
Tutorial02: C#的物件導向,關於Base Class,Sub Class,Interface


T003_Methods_Static_namespace
----------------------
Tutorial03講義:  關於Namespace,Static method和Instance method比較,Ref,Out,params關鍵字比較,MethodOverride和MethodHide比較
Tutorial03:  關於Namespace,Static method和Instance method比較,Ref,Out,params關鍵字比較,MethodOverride和MethodHide比較


T004_StructAndClass_ValueTypeAndReferenceType
----------------------
Tutorial04講義: RAM的Stack和Heap比較,Struct和Class比較,Value Type和Reference Type比較
Tutorial04: RAM的Stack和Heap比較,Struct和Class比較,Value Type和Reference Type比較


T005_InterfaceAndAbstractClass
----------------------
Tutorial05講義: public,protected,private的比較,Abstract Class和Interface的比較
Tutorial05: public,protected,private的比較,Abstract Class和Interface的比較


T006_Delegate
----------------------
Tutorial06講義: public,protected,private的比較,關於Delegate和Multicast Delegates
Tutorial06: public,protected,private的比較,關於Delegate和Multicast Delegates



T007_Exception_NestedTryCatch
----------------------
Tutorial07講義: TryCatch搭配常見的Exception,蝦毀,內建的不夠用,客製化的Exception
TryCatch ,Exception,FileNotFoundException,SqlException,FormatException,OverflowException,DivideByZeroException,客製化的Exception
Tutorial07: TryCatch搭配常見的Exception,蝦毀,內建的不夠用,客製化的Exception



T008_Enum
----------------------
Tutorial08講義: 關於Enum,Enum.GetValue和Enum.GetNames的比較
Tutorial08: 關於Enum,Enum.GetValue和Enum.GetNames的比較



T009_AccessibilityLevels_AccessModifiers
----------------------
Tutorial09講義: Access modifiers大亂鬥。private V.S. public V.S. protected V.S. internal V.S. protected internal
Tutorial09: Access modifiers大亂鬥。private V.S. public V.S. protected V.S. internal V.S. protected internal



T010_System.StringVSSystem.Text.StringBuilder
----------------------
Tutorial10講義: System.String和System.Text.StringBuilder比較。Ram的Stack和Heap比較。
Tutorial10: System.String和System.Text.StringBuilder比較。Ram的Stack和Heap比較。
----------------------
Please Revise
T004_StructAndClass_ValueTypeAndReferenceType
https://ithandyguytutorial.blogspot.com/2017/11/t004structandclass.html
Tutorial04講義: RAM的Stack和Heap比較,Struct和Class比較,Value Type和Reference Type比較



T011_Convert.ToStringVSToString_OverrideToString
----------------------
Tutorial11講義: Convert.ToString和ToString的比較。納尼?不夠用?那就Override ToString
Tutorial11: Convert.ToString和ToString的比較。納尼?不夠用?那就Override ToString



T012_OverrideEquals_OverrideGetHashCode
----------------------
Tutorial12講義: Contains()和Equals()和SequenceEqual()的bug的三種解決方法。Override Equals()和GetHashCode()。IEqualityComparer。使用匿名型別。
Tutorial12: Contains()和Equals()和SequenceEqual()的bug的三種解決方法。Override Equals()和GetHashCode()。IEqualityComparer。使用匿名型別。
----------------------
Please Revise
T004_StructAndClass_ValueTypeAndReferenceType
https://ithandyguytutorial.blogspot.com/2017/11/t004structandclass.html
Tutorial04講義: RAM的Stack和Heap比較,Struct和Class比較,Value Type和Reference Type比較.
----------------------
Please Revise
T008_Enum
https://ithandyguytutorial.blogspot.com/2017/12/t008enum.html
Tutorial08講義: 關於Enum,Enum.GetValue和Enum.GetNames的比較
----------------------
Refer to C# foundation
T020toT22_List
T020_ListSimpleType
https://ithandyguytutorial.blogspot.com/2017/12/t020list-simpletype.html
T021_ListReferenceType
https://ithandyguytutorial.blogspot.com/2017/12/t021listreferencetype.html
T022_ListReferenceTypeSort
https://ithandyguytutorial.blogspot.com/2017/12/t022listreferencetypesort.html




Generic ,Reflection, PartialClass, PartialMethod
Generic通用,Reflection反射,Partial Class部分類別,Partial Method部分方法


T013_Generic_GenericCollection
----------------------
Tutorial13講義: Generic通用。Array比較Collection。Generic Collection比較Non-Generic Collection
Tutorial13: Generic通用。Array比較Collection。Generic Collection比較Non-Generic Collection
----------------------
* Generic Collections (System.Collections.Generic)包括includes List<T>, Dictionary<TKey, TValue>, Stack<T>, Queue<T>
* Non-Generic Collection (System.Collections)包括includes ArrayList, Hashtable, Stack, Queue.



T014_ReflectionAndLateBinding
----------------------
Tutorial14講義: Reflection反射。Early binding比較Late binding。讀取DLL
Tutorial14: Reflection反射。Early binding比較Late binding。讀取DLL



T015_CustomizedAttributesAndReflection
----------------------
Tutorial15講義: 關於Attribute屬性。OOPS!又不夠用?客製化Attribute屬性搭配Reflection反射
Tutorial15: 關於Attribute屬性。OOPS!又不夠用?客製化Attribute屬性搭配Reflection反射
*這個tutorial討論客製化attribute,應用方面是,搭配Reflection 和 XML 後,可以讓你寫的code可以用客製化,比如說你的XML明確規定  指讀取啥啥attribute的class,透過reflection動態讀取。
----------------------
Please Revise
T013_Generic_GenericCollection
https://ithandyguytutorial.blogspot.com/2017/12/t013genericgenericcollection.html
Tutorial13講義: Generic通用。Array比較Collection。Generic Collection比較Non-Generic Collection
* Generic Collections (System.Collections.Generic)包括includes List<T>, Dictionary<TKey, TValue>, Stack<T>, Queue<T>
* Non-Generic Collection (System.Collections)包括includes ArrayList, Hashtable, Stack, Queue.
----------------------
Please Revise
T014_ReflectionAndLateBinding
https://ithandyguytutorial.blogspot.com/2017/12/t014reflectionandlatebinding.html
Tutorial14講義: Reflection反射。Early binding比較Late binding。讀取DLL。



T016_PartialMethod_PartialClass
----------------------
Tutorial16講義: Partial大亂鬥。完全理解Partial Class部分類別。完整攻略Partial Method部分方法
Tutorial16: Partial大亂鬥。完全理解Partial Class部分類別。完整攻略Partial Method部分方法


Collections
Collection集合大亂鬥


T017_Indexer_Dictionary_List
----------------------
Tutorial17講義: Indexers比較Properties。Dictionary比較List
Tutorial17: Indexers比較Properties。Dictionary比較List



T018_OptionalParameters_OverloadingMethod_ParameterArrays
----------------------
Tutorial18講義: 四種方法讓Method參數變成optional。參數數組parameter arrays。重載方法Overload Method。參數預設值Parameter default value。可選屬性OptionalAttribute
Tutorial18: 四種方法讓Method參數變成optional。參數數組parameter arrays。重載方法Overload Method。參數預設值Parameter default value。可選屬性OptionalAttribute



T019_Dictionary
----------------------
Tutorial19講義: Dictionary<TKey, TValue>和KeyValuePair<TKey, TValue>的親密關係。
Tutorial19: Dictionary<TKey, TValue>和KeyValuePair<TKey, TValue>的親密關係。



T020toT22_List
T020_ListSimpleType
T021_ListReferenceType
T022_ListReferenceTypeSort
----------------------
Tutorial20To22: 完全理解List搭配Simple Type和Reference Type的各種用法以及Sort()
Tutorial20講義: 完全理解List搭配簡單型別Simple Type的各種用法
Tutorial20: 完全理解List搭配簡單型別Simple Type的各種用法
-----
Tutorial21講義: 完全理解List搭配Reference Type的各種用法
Tutorial21: 完全理解List搭配Reference Type的各種用法
-----
Tutorial22講義: 完全理解List搭配Reference Type的各種用法並解決Sort問題。Contains()和Equals()和SequenceEqual()的bug的三種解決方法
Tutorial22: 完全理解List搭配Reference Type的各種用法並解決Sort問題。Contains()和Equals()和SequenceEqual()的bug的三種解決方法
----------------------
Please Revise
T004_StructAndClass_ValueTypeAndReferenceType
https://ithandyguytutorial.blogspot.com/2017/11/t004structandclass.html
Tutorial04講義: RAM的Stack和Heap比較,Struct和Class比較,Value Type和Reference Type比較
----------------------
Please Revise
T008_Enum
https://ithandyguytutorial.blogspot.com/2017/12/t008enum.html
Tutorial08講義: 關於Enum,Enum.GetValue和Enum.GetNames的比較
----------------------
Please Revise
T012_OverrideEquals_OverrideGetHashCode
https://ithandyguytutorial.blogspot.com/2017/12/t012overrideequalsoverridegethashcode.html
Tutorial12講義: Contains()和Equals()和SequenceEqual()的bug的三種解決方法。Override Equals()和GetHashCode()。IEqualityComparer。使用匿名型別



T023_StackAndQueue
----------------------
Tutorial23講義: 完全理解Stack和Queue的差別以及各種用法。
Tutorial23: 完全理解Stack和Queue的差別以及各種用法。




FuncDelegate, LamdaExpression, AnonymousMethodsFuncDelegate委派, LamdaExpression表達式, AnonymousMethods匿名方法

T024_FuncDelegate_LambdaExpression_AnonymousMethods
----------------------
Tutorial24講義: 完全理解FuncDelegate委派和LamdaExpression表達式和AnonymousMethods匿名方法
Tutorial24: 完全理解FuncDelegate委派和LamdaExpression表達式和AnonymousMethods匿名方法


T025_LambdaExpression_AnonymousMethods_RegisterEvent
----------------------
Tutorial25講義: 完全理解LamdaExpression表達式和AnonymousMethods匿名方法並且註冊事件
Tutorial25: 完全理解LamdaExpression表達式和AnonymousMethods匿名方法並且註冊事件



Thread, Async, Await
Thread執行緒, Async異步, Await等待,Extend Method擴充方法


T026_Thread
----------------------
Tutorial26講義: 完全理解Thread執行緒
Tutorial26: 完全理解Thread執行緒



T027_Multi-Thread_Monitor_Lock
----------------------
Tutorial27講義: 完全理解Multi-Thread多執行緒。關於Monitor類別的用法。關於Lock鎖定
Tutorial27: 完全理解Multi-Thread多執行緒。關於Monitor類別的用法。關於Lock鎖定


T028_DeadLock_Mutex
T028_01_DeadLock
T028_02_FixDeadLockByLockOrder
T028_03_FixDeadLockByMutexV1
T028_04_FixDeadLockByMutexV2
----------------------
Tutorial28講義: 完全理解Multi-Thread多執行緒。關於Dead Lock死鎖定。關於Mutex的用法。
Tutorial 28-01: 實做deadlock
Tutorial 28-02: 利用lock order解決deadlock
Tutorial 28-03: 利用Mutex解決deadlock第1種解法
Tutorial 28-04: 利用Mutex解決deadlock第2種解法


T029_ThreadAndAsyncAwait
----------------------
Tutorial29講義: Thread和AsyncAwait各種用法大亂鬥
Tutorial29: Thread和AsyncAwait各種用法大亂鬥



T030_AsyncAwaitVSThread
----------------------
Tutorial30講義: Thread和AsyncAwait差異比較
Tutorial30: Thread和AsyncAwait差異比較



Some Concepts
一些特殊觀念

T031_ExtendMethod
----------------------
Tutorial31講義: 完全攻略Extend Method擴充方法
Tutorial31: 完全攻略Extend Method擴充方法




T032_YieldReturn
----------------------
Tutorial 32講義: 關於Yield Return
Tutorial 32-01: Yield Return的Filter Sample
Tutorial 32-02: Yield Return的Total Sample
------------------------
C#課程的
T032_YieldReturn
https://ithandyguytutorial.blogspot.com/2019/01/t032yieldreturn.html
和04B_NUnit_MSTest課程的
T006_YieldReturn
https://ithandyguytutorial.blogspot.com/2019/01/t006yieldreturn.html
是一樣的, 如果有上過的學生, 可以跳過




師資介紹

Kevin Lin

技術移民到澳洲的.NET Developer,對於.NET領域的相關技術與各式開發方式、多種前後端框架與工具、版控系統,皆有深入的研究。畢業於澳洲多個大學,其中2所全校第1名畢業,最高學歷為碩士。現任HiSKIO線上課程特約講師,以及IT工具人學院創辦人。以一門銜接一門的扎實打底學程,幫助許多想成為.NET Developer的朋友們,繞過彎路,快速學習。

2013 Certificate I in Hospitality (Provide Responsible Service of Alcohol) QHA QLD,酒精飲料服務責任執照, 昆士蘭餐飲協會。
2011 Graduate Diploma in IT Management CQU QLD,IT管理研究生文憑, 中央昆士蘭大學,該屆全校第1名畢業。
2010 Certificate IV in Property (Real Estate) Professional Real Estate Training QLD,專業昆士蘭房地產培訓4級證書。
2010 Master of Information System Griffith QLD,信息系統碩士,格里菲斯大學。
2008 Bachelor of IT Software Architecture QUT QLD,IT軟件架構學士,昆士蘭科技大學。
2005 Diploma in Information Technology QIBT QLD,IT專業文憑證書,昆士蘭商業技術學院,該屆全校第1名畢業。
















留言

這個網誌中的熱門文章

T000_011_Install Visual Studio 2019 Offline

T020_CreateLargeData_SubQuery_Join_Performance

IT工具人學院