as expected 和 as is expected 一样吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了as expected 和 as is expected 一样吗?相关的知识,希望对你有一定的参考价值。

不一样,as expected是状语从句的省略形式,它是省略了it is/ was。不是非限制性定语从句的用法,而as is expected 是as 引导的非限制性定语从句,as代表前面主句的内容。

expect,英语单词,主要用作动词,用作动词时译为“期望;指望;认为;预料;期待;预期”。

双语例句:

1、We expect you to be with us.

我们希望你和我们在一起。

2、What do you expect for yourself?

你对于自己的期望是什么?

3、I expect to be back within a week.

我预计一周之内回来。

参考技术A 不一样,as expected是状语从句的省略形式,它是省略了it is/ was .不是非限制性定语从句的用法.而as is expected 是as 引导的非限制性定语从句,as代表前面主句的内容。追问

那as it is/was expected 是什么意思啊?请给两个例句。

追答

这是as 引导的原因状语从句,比如,As it is expected ,there is no need to worry about it.(既然这事被预料到了,我们就没必要担心了)
You should have prepared for it ,as it was expected to come earlier.(你本应该早为之准备,因为你已经预料到它会来。)
不知能不能帮到你。

NET基础:is 和 as 操作符

  在C#语言中进行类型转换的另外一种方式是使用is和as操作符。is检查对象是否兼容于指定类型,返回Boolean值true或false。注意,is操作符永远不抛出异常,例如以下代码:

Object o = new Object();

Boolean b1 = (o is Object);    //返回true
Boolean b2 = (o is Employee);    //返回false

  如果对象引用null,is操作符总是返回false,因为没有可以检查其类型的对象。

is操作符通常像下面这样使用:

if(o is Employee)
{
    Employee e = (Employee)o;
}

  在上述代码中,CLR实际检查两次对象类型。is操作符首先核实o是否兼容于Employee类型,如果是,在if语句块内进行类型转换,CLR再次核实o是否引用一个Employee。CLR的类型检测增加了安全性,但无疑会对性能造成一些损失。这是因为CLR首先必须判断变量o引用的对象的实际类型。然后,CLR必须遍历继承层次结构,用每个基类型去核对指定的类型(Employee)。由于这是一个相当常用的编程模式,所以c#专门提供了as操作符,目的就是简化这种代码的写法,同时提升其性能。

Employee e = o as Employee;
if(e != null)
{
     //在if中使用e
}

  在这段代码中,CLR核实o是否兼容于Employee类型;如果是,as返回对同一个对象的非null引用。如果o不兼容与Employee类型,as 返回null。注意,as操作符造成CLR只检验一次对象类型。if语句只检测e是否为null;这个检查速度比检验对象的类型要快的多。

     as 操作符的工作方式与强制类型转换一样,只是它永远不会抛出异常,如果对象不能转型,结果就是null。所以,正确做法是检查最终生成的引用是否为null。

以上是关于as expected 和 as is expected 一样吗?的主要内容,如果未能解决你的问题,请参考以下文章

“世界”是 AS3 中的保留类名称吗?

Swift Any、Type、is、as

is 和 as 运算符

is和as运算符,类库,委托

is和as运算符, 类库:dll,委托,

is和as运算符