这两个C#语句有什么区别?

Car*_*eta 2 .net c#

可能重复:
C#"as"施放vs经典施法

我继承了一些代码,我看到了这个Grid事件处理程序.我不知道这两个陈述之间是否存在差异,我不认为有,但事实是它们在代码中背靠背让我想知道为什么两种方式做同样的事情(假设它们做同样的事情)事情).有人可以解释一下这个区别吗?

            GridDataItem ParentItem = e.Item as GridDataItem;

            GridDataItem NewRow = (GridDataItem)e.Item;
Run Code Online (Sandbox Code Playgroud)

J M*_*Max 6

"as运算符就像一个强制转换操作.但是,如果转换不可能,则返回null而不是引发异常"

"请注意,as运算符仅执行引用转换和装箱转换.as运算符不能执行其他转换,例如用户定义的转换,而应使用转换表达式执行转换."

阅读更多