As Administrator (Full Control):
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
//CODE HERE
}
});
As another user:
SPUser user = SPContext.Current.Web.SiteUsers[@"domain\username"];
using(SPSite oSiteCollection = new SPSite("http://localhost/", user.UserToken)){
//CODE HERE
}