You can set it like this:

    oListItem["URL"] = String.Format("{0}, {1}", mainurl, "Description");

It's a simple string, where URL is followed by a description which is separated by a comma.

Or you can use a more object oriented approach:

    var value = new SPFieldUrlValue(mainurl);
    value.Description = "Description";
    oListItem["URL"] = value;

Whichever suits you :)