In C#, access modifiers play a major role. They basically decide bounderies of your type and type members. Based on the access modifier, you can restrict access or allow access to any type or type member.
There are 5 types of access modifiers.
Type members like methods, fields, properties etc can have all 5 access modifiers. A type like class, structure, delegate etc can only have 2 access modifiers which are Public and Internal. By default, each Type member is Private and each Type is Internal.