You want to get the full URL of an SPListItem, but the SPListItem.Url property returns only the server relative URL.
You could concatenate together the SPListItem.Web.Url and SPListItem.Url property values, alternatively you can use the ows_EncodedAbsUrl metadata value;
using (var site = new SPSite(webUrl))
using (var web = site.OpenWeb())
SPList list = web.Lists["Shared Documents"];
SPListItem item = list.Items;
string itemUrl = item["ows_EncodedAbsUrl"].ToString();
The exact form of this metadata value seems to vary according to how it’s used, such as from an SPSiteDataQuery, as I mentioned in this post.