What is the difference between two declaration?
Nothing, as this is C#. In general, if you declare anything in C# without using access modifiers, it's equivalent to using the most private valid access modifier for that place1.
So yes, declaring
private object first;
is equivalent to
object first;
Personally, I prefer being explicit about access modifiers - others prefer to be as terse as possible.
1 The one exception to this is specifying an access modifier for part of a property. That has to be more private than the property itself; if you don't specify an access modifier there, it's implicitly the same access as the property itself.