There is an optional additional parameter in SelectList
SelectList list = new SelectList([...my collection...], "Value", "Key", SelectedID);
Check the definition
public SelectList(IEnumerable items, string dataValueField, string dataTextField,
object selectedValue);
which sets the selected value and is of the same type as the dataValueField