I know this is old, but I found this first, but didn't like any of these solutions, so I kept looking and found https://stackoverflow.com/a/19110921/1130636.
You can use UrlParameter.Optional to solve this problem
Url.Action("Show", "Course", new { id = UrlParameter.Optional })