internal
Public
Internal if it is directly declared inside namespace. Private if it is nested. Here's some explanation: Classes and structs that are declared directly within a namespace (in other words, that are not nested within other classes or structs) can be either public or internal. Internal is the default if no access modifier is specified. Struct members, including nested classes and structs, can be declared as public, internal, or private. Class members, including nested classes and structs, can be public, protected internal, protected, internal, or private. The access level for class members and struct members, including nested classes and structs, is private by default. Private nested types are not accessible from outside the containing type.
Internal
Namespace will not have access modifier.
Private
internal for other types refer following link http://sandeepmhatre.blogspot.com/2013/04/access-specifier-in-c.html
private
In c#.net by default access specifier is internal.......
public