String id = ViewState["CurrentCustomerID"] as String;是什么意思?

解决方案 »

  1.   

    因为viewstate 里的是object 类型,这样转换为string 如果不成功的话id 会被赋予null
      

  2.   

    hdt(倦怠)
    因为viewstate 里的是object 类型,这样转换为string 如果不成功的话id 会被赋予null
    -----------------------------------------------------------------------------
    正解好久没用的as操作符了,都快忘了,呵呵,今天看到后似乎有的地方又可以稍微优化下,少写点代码了
      

  3.   

    因为viewstate[""] 得到的是object 类型,这样用as 转换为string 如果不成功的话id 会被赋予null,这样就避免直接使用tostring()了,
    它这样用表面上看就是将得到缓存在页面状态信息中的某个字段的值
      

  4.   

    那为什么不这样做呢?
    string ?id = ViewState["CurrentCustomerID"];? 菜菜的人问
      

  5.   

    这是vb.net定义的形式啊!Dim aa as string;
      

  6.   

    as运算符,尝试把前面的类型转换成as后面的类型,转换成功就转换,不成功则为null
      

  7.   

    这是vb.net定义的形式啊!Dim aa as string;
    --------------------------
    晕,这是C#的呀-_-#!
      

  8.   

    String id = ViewState["CurrentCustomerID"] as String;是什么意思?
    ----------
    相当于String id = (String)ViewState["CurrentCustomerID"];
      

  9.   

    String id = ViewState["CurrentCustomerID"] as String;是什么意思?
    ----------
    相当于String id = (String)ViewState["CurrentCustomerID"];
    ----------
    不要瞎说,他们是有很大区别的,你这样的是强制转换,而as是弱转换
      

  10.   

    哦,对。平时都是用强制转换。没有注意差别。
    强制转换转不了的时候会出错。as转换转不了为null
      

  11.   

    请问一下,哪为什么不用Convert.tostring()??
      

  12.   

    因为
    as 不会  throw exception