首页上一页 1 下一页尾页 7 条记录 1/1页
ASP.NET入门到精通关于as的问题
发表在ASP.NET图书答疑
2009-08-23
是否精华
是
否
版块置顶:
是
否
ASP.NET入门到精通第35页讲as运算符的时候,就说了一句,说的不太清楚。我在微软件网站看到下面这样一段代码,但是我不太了解是什么意思,能不能帮忙讲解一下,他上面说as 运算符只执行引用转换和装箱转换。可是objArray[2] = "hello"; 这个转化成string类型的时候不是一个拆箱操作吗?怎么也可以运行。
class ClassA { }
class ClassB { }
class MainClass
{
static void Main()
{
object[] objArray = new object[6];
objArray[0] = new ClassA();
objArray[1] = new ClassB();
objArray[2] = "hello";
objArray[3] = 123;
objArray[4] = 123.4;
objArray[5] = null;
for (int i = 0; i < objArray.Length; ++i)
{
string s = objArray[i] as string;
Console.Write("{0}:", i);
if (s != null)
{
Console.WriteLine("'" + s + "'");
}
else
{
Console.WriteLine("not a string");
}
}
}
}
/*
Output:
0:not a string
1:not a string
2:'hello'
3:not a string
4:not a string
5:not a string
*/
class ClassA { }
class ClassB { }
class MainClass
{
static void Main()
{
object[] objArray = new object[6];
objArray[0] = new ClassA();
objArray[1] = new ClassB();
objArray[2] = "hello";
objArray[3] = 123;
objArray[4] = 123.4;
objArray[5] = null;
for (int i = 0; i < objArray.Length; ++i)
{
string s = objArray[i] as string;
Console.Write("{0}:", i);
if (s != null)
{
Console.WriteLine("'" + s + "'");
}
else
{
Console.WriteLine("not a string");
}
}
}
}
/*
Output:
0:not a string
1:not a string
2:'hello'
3:not a string
4:not a string
5:not a string
*/