I don't know how your data is being populated, but often times when we execute a query where I work, if it's imperative to have empty strings instead of null for certain operations, we'll use ISNULL(column, '')
on columns that might possibly return null so our application layer won't need to worry about whether or not the value is null, it will just handle it like a string.
Otherwise, if you want to handle it application side you can use this:
if(!sqlD8aReader.IsDBNull(ADDRESS2_OFFSET))
{
string address2 = sqlD8aReader.GetString(ADDRESS2_OFFSET);
}