C#- confused about learning

I am quite confused about how to start learning c# for unity, there is quite a few questions I have:

-is the unity c# the same as other c#?

-is there any difference between c# and the c# for gaming?

-if I wanted to get a c# programming book would I have to get a game version, a unity version or can I get any?

Or is there a better place I can go for the answers?