In this article, I will explain how to get UserProfile object for Logged-in User (current user).
//Function Call UserProfile objUserProfile= GetProfileOfCurrentUser(SPContext.Current.Web.CurrentUser.LoginName) public UserProfile GetProfileOfCurrentUser(string accountName) { UserProfile profile = null; try { if (string.IsNullOrEmpty(accountName)) { return null; } SPSecurity.RunWithElevatedPrivileges(delegate() { SPSite site = SPContext.Current.Site; ServerContext context = ServerContext.GetContext(site); UserProfileManager profileManager = new UserProfileManager(context); if (!profileManager.UserExists(accountName)) { profile = null; } profile = profileManager.GetUserProfile(accountName); }); } catch (Exception ex) { profile = null; } return profile; }