Not all code paths return a value
<p>I get an error not all code paths return a value?</p>

<pre><code>    public string Authentication(string studentID, string password) // this line?
    {
        var result = students.FirstOrDefault(n =&gt; n.StudentID == studentID);
        //find the StudentID that matches the string studentID 
        if (result != null)
        //if result matches then do this
        {
            //---------------------------------------------------------------------------- 
            byte[] passwordHash = Hash(password, result.Salt);
            string HashedPassword = Convert.ToBase64String(passwordHash);
            //----------------------------------------------------------------------------
            // take the specific students salt and generate hash/salt for string password (same way student.Passowrd was created)

            if (HashedPassword == result.Password)
            //check if the HashedPassword (string password) matches the stored student.Password
            {
                return result.StudentID;
                // if it does return the Students ID                     
            } 

        }
        else
        //else return a message saying login failed 
        {
            return "Login Failed";
        }
    }
</code></pre>
