検索結果が複数の時の抽出の仕方

ちなみにデータスクレイピングで取得したとき、システム上に「「番号」前8桁が数字で直後に「」があるもの」がなかったとき、
dt.AsEnumerable.Where(Function(r) System.Text.RegularExpressions.Regex.IsMatch(r(“番号”).ToString,“^\d{8}
”)).OrderBy(Function(r) Int32.Parse(System.Text.RegularExpressions.Regex.Match(r(“番号”).ToString,“\d{5}$”).Value)).Last().Item(“番号”).ToString
をするとエラーになりますか?

できればちなみにデータスクレイピングで取得したとき、システム上に「「番号」前8桁が数字で直後に「_」があるもの」がなかったときは、登録日が最新のものの番号を取得したいです。(例えばシステム上にNo2、No4のレコードしか存在しなかった場合、登録日がより最新のNo4の番号を取得したい)

よろしくお願いいたします。