c#中as的用法、意思?

as是干什么用的? 具体语法是什么?
/// <summary>
///
/// </summary>
/// <param name="wc">要绑定的控件</param>
/// <param name="dataSource">用于绑定的数据源</param>
public static void Bind(WebControl wc, object dataSource)
{
if (wc is GridView)
{
GridView gv = wc as GridView;
gv.DataSource = dataSource;
gv.DataBind();
}
if (wc is DataList)
{
DataList dl = wc as DataList;
dl.DataSource = dataSource;
dl.DataBind();
}

if (wc is ListControl)
{
ListControl lc = wc as ListControl;
//lc.Items.Clear();
lc.DataSource = dataSource;
lc.DataBind();
if (dataSource is DbDataReader)
{
DbDataReader dr = dataSource as DbDataReader;
dr.Close();
}
}
}

MSDN给出的解释是:
as 运算符用于在兼容的引用类型之间执行某些类型的转换。

说明白了,就是把基类类型转换成派生类类型
比如Winform的ListBox的每一项都是object类型,将一个string丢进去以后,下次再取出的时候是一个object。这时候,想还原原来的字符串,就得对这个object做as string操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-13
as 也是一种 类型转换,只不过如果转换失败了不会报错。
第2个回答  2012-09-02
和Unchecked一样哈
相似回答