C#并非所有的代码路径都返回值

public static string aa(string a)
{

        string str;
        if (str == "")
        {
            MessageBox.Show("请输入。。。");
            return null;
        }
        else
        {
            string[] split = Regex.Split(str, ";", RegexOptions.IgnoreCase);
            foreach (string s in split)
            {
                return s;
            }

        }
    }

我写了这样一个方法,结果提示并非所有代码路径都返回值;请大虾指教怎样改这段代码。。。不胜感激。。

编译器是对的
当split长度为0时,foreach不会执行,此时没有返回值
应在foreach外面加return