could u give the Explanations about the following questions

1.How does C# 4.0 provide dynamic typing? Why do you think it was added as a feature to the C# language? What problem is it designed to solve?

2. What is cache line and false sharing? Why is it important for performance?

3. [Bonus] Current C# compiler from Microsoft is csc.exe. That was not the original name? What was the original name of the C# compiler?