施法的正确方法是哪种?

Ser*_*Now 4 c#

我有这个界面:

public interface IEntity
{
    int Id{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

一类:

public class Customer: IEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的用法:

void Main()
{
    List<Customer> list =  new List<Customer>();
    IEntity obj = null;
    obj = new Customer() {Id = 4, Name="Jenny", Age =41};
    list.Add(obj as Customer);  /*Line #1*/     
    list.Add((Customer)obj); /*Line #2*/        
}
Run Code Online (Sandbox Code Playgroud)

这被认为是最佳做法:第1行或第2行?

Jes*_*cer 12

该()转换运算符将抛出一个异常(InvalidCastException的)如果源不能被转换为目标类型.如果无法完成转换,as操作员将设置结果变量null.