I do not understand what is meant by the terms \"compile time\" and \"run time\" (or \"runtime\").
I\'m also a bit confused about what \"value type\" and \"reference ty
As to your first question, see Stack Overflow: Runtime vs Compile time.
As to your second question, see Stack Overflow: What are the differences between value types and reference types in C#.
As to how they relate: they are independent concepts. Setting a variable's value and reading its value happens at run time; whether or not that variable has value type or reference type.