Самый большой совет: соглашайтесь с .NET именами с самого начала. Таким образом, вам постоянно будут напоминать о том, на каком языке вы находитесь. (Звучит глупо, но это действительно полезно.) Примите как можно более идиомы языка.
Существуют различные книги специально для людей в вашей ситуации - поищите "C # для Java" в Amazon, и вы получите множество хитов. Стоит внимательно прочитать , чтобы убедиться, что вы не предполагаете, что в C # все будет работать так же, как и в Java. (Например, в C # экземпляры инициализаторов переменных выполняются до тела конструктора базового класса; в Java они происходят после. Тонкие вещи, подобные этой, могут занять некоторое время, и их легко пропустить, если вы занимаетесь скиммингом.)
Если вы собираетесь использовать C # 3, я бы получил книгу, которая определенно освещает это - все в C # 3 будет для вас новым. Бесплатный плагин: моя собственная книга ( C # in Depth ) охватывает C # 2 и 3, но предполагает, что вы уже знаете C # 1. (Другими словами, этого будет недостаточно, но вы можете захотеть это как «вторая» книга.)