I trying to understand why a non-nullable string initializes to null instead of an empty string. For example:
//Property of class foo
public string Address_N
Since you are using properties to get the string values, another option is to return string.Empty if it is in fact null.
//Property of class foo
private string _address_Notes;
public string Address_Notes
{
get { return _address_Notes ?? string.Empty; }
set { _address_Notes = value; }
}
A much better solution would be to initialise the string to string.Empty (if that is your expected behaviour). You can do this in C# 6+ as follows:
public string Address_Notes { get; set; } = string.Empty;
This way it's a one off initialisation rather than a check on every request.