Find a book to learn scripting, C# for Unity.

I need to find a book that helps me code from scratch and have a good foundation in C# programming. And I am very confused with a 2D and 3D game which I have to start first. I hope you guys will recommend me a very interesting book.