Reading a book about C# I noticed that sometimes is mentioned value type and sometimes primitive type for some data type (e.g. int, double). I thought they were the same thing, but they are really the same or not?
What is the difference between a value type and a primitive type? Are they the same thing?
EDIT
The question is not only related to C# programming Language, I was wondering how them are different even in any other language.