Skillnaden mellan Var och Dynamics i C#

Skillnaden mellan Var och Dynamics i C#
var dynamisk
Introducerad i C# 3.0 Introducerad i C# 4.0
Statiskt typad – Detta innebär att typen av variabel som deklareras bestäms av kompilatorn vid kompilering. Dynamiskt typad – Detta innebär att typen av variabel som deklareras bestäms av kompilatorn vid körning.
variabler av typen var måste initieras vid tidpunkten för deklarationen, annars stöter de på kompileringstidsfelet:Implicit skrivna lokala variabler måste initieras. Inget behov av initialisering vid tidpunkten för deklarationen.
t.ex. var str="Jag är en sträng"; t.ex. dynamisk str;
Om du tittar på värdet som tilldelats variabeln str, kommer kompilatorn att behandla variabeln str som sträng. str="Jag är en sträng"; //Fungerar bra och kompilerar
Fel upptäcks vid kompilering. Fel upptäcks vid körning
Eftersom kompilatorn känner till typen och metoderna och egenskaperna för typen vid själva kompileringstillfället Eftersom kompilatorn kommer till om typen och metoderna och egenskaperna för typen vid körning.
Intellisense-hjälp är tillgänglig för var-typen av variabler. Detta beror på att dess typ härleds av kompilatorn från den typ av värde den är tilldelad och som ett resultat har kompilatorn all information relaterad till typen Intellisense-hjälp är inte tillgänglig för dynamiska variabler eftersom deras typ är okänd fram till körningstid. Så intellisense hjälp finns inte tillgänglig. Även om du blir informerad av kompilatorn som "Denna operation kommer att lösas vid körning".
kommer att skapa ett kompileringsfel eftersom variabeln inte initieras. Kompilatorn behöver att denna variabel ska initieras så att den kan sluta sig till en typ från värdet. Kompilerar