Что ж, это менее неуклюже, если вы воспользуетесь массивом параметров:
var parts = emailAddress.Split('@');
Или (чтобы избежать создания нового массива каждый раз) вы можете повторно использовать существующий массив:
private static readonly char[] EmailSplitter = new char[] {'@'};
...
var parts = emailAddress.Split(EmailSplitter);
Кроме того, я не вижу, что это особенно неуклюже - хотя, если это все, что делает класс EmailAddress
, я сделал бы это в конструкторе (или статическом методе) и сделал бы объект неизменным. 1008 *
Возможно, вы захотите использовать «localpart» вместо «alias» - это будет соответствовать RFC-822.