int? len;
if (s != null) len = s.Length;
else len = null;

これ、null許容のlenじゃなくてnull非許容のlenのほうが
一般的な業務に多いよなぁ
int len = s?.Length;
でsがnullなら属性初期値が入ってほしい