Belows are the code form Ishai’s blog
Example 1: Set the url field of a link
Use the SPFieldUrlValue class to create an object that holds the url to link to, and the title to display:
SPList list = web.Lists["Links"];
SPListItem newLink = list.Items.Add();
SPFieldUrlValue value = new SPFieldUrlValue();
value.Description = “test”;
value.Url = “http://www.microsoft.com/sharepoint”;
newLink["URL"] = value;
newLink.Update();
Example 2: Get the url field of a link
Use the SPFieldUrlValue class to create an object that gets the url and description:
SPList list = web.Lists["Links"];
SPListItem existingLink = list.Items[0];
SPFieldUrlValue value = new SPFieldUrlValue(existingLink["URL"].ToString());
string linkTitle = value.Description;
string linkURL = value.Url;
Example 3: Set the value of a lookup field for a known title and ID
Use SPFieldLookupValue to set the value of a lookup field (“Group Name”) to item “Program Operations”, whose ID is 14:
SPList list = web.Lists["Branches"];
SPListItem newBranch = list.Items.Add();
newBranch["Title"] = “A New Branch”;
SPFieldLookupValue newValue = new SPFieldLookupValue(14,”Program Operations”);
newBranch["Group Name"] = newValue;
newBranch.Update();
Example 4: Get the value of a lookup field from an item
Reading the value of the group name field (which is a lookup field in the branches list):
SPList list = web.Lists["Branches"];
SPListItem existingBranch = list.Items[0];
SPFieldLookupValue group = new SPFieldLookupValue(existingBranch["Group Name"].ToString());
int lookedUpItemID = group.LookupId;
string lookedUpItemTitle = group.LookupValue;