JUST DO IT ~

          我只想當個程序員

          c# 裝箱轉換 結構的拆裝箱 問題





           

          將在控制臺上輸出值10因為將p賦值給box是一個隱式裝箱操作它將復制p的值。如果將 Point 聲明為 class,由于 pbox 將引用同一個實例,因此輸出值為 20




          D:\c_\4.3.1 裝箱轉換>Test
          Box contains an int-----------------------
          10-----------------------
          20-----------------------
          -----------------------
          20
          -----------------------
          20




          struct Point
          {
              
          public int x, y;
              
          public Point(int x, int y)
              
          {
                  
          this.x = x;
                  
          this.y = y;
              }

          }


          class  Pint
          {
              
          public int x, y;
              
          public Pint(int x, int y)
              
          {
                  
          this.x = x;
                  
          this.y = y;
              }

          }

          class Test {

              
          public static void Main() {

                  
          int i = 123;
                  
          object box = i;
                  
          if (box is int)
                  
          {
                      Console.Write(
          "Box contains an int");
                  }


                  Console.WriteLine(
          "-----------------------");
                  Point p 
          = new Point(1010);
                  
          object box1 = p;
                  p.x 
          = 20;
                  Console.Write(((Point)box1).x);

                  Console.WriteLine(
          "-----------------------");
               
                  Console.Write((p).x);
                  Console.WriteLine(
          "-----------------------");
               

                  Pint pi 
          = new Pint(1010);
                  
          object box2 = pi;
                  pi.x 
          = 20;
                  Console.WriteLine(
          "-----------------------");
               
                  Console.WriteLine(((Pint)box2).x);
                  Console.WriteLine(
          "-----------------------");
               
                  Console.Write((pi).x);


              }


          }

          posted on 2008-02-12 11:37 小高 閱讀(420) 評論(1)  編輯  收藏 所屬分類: DotNet

          評論

          # re: c# 裝箱轉換 結構的拆裝箱 問題 2008-08-09 18:46 小高

          java equals ( Integer ) -125~126 緩存變量可能不通
            回復  更多評論   

          導航

          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安阳市| 久治县| 朝阳市| 三穗县| 江安县| 台东市| 安吉县| 屯昌县| 四川省| 乌兰县| 花莲市| 容城县| 富锦市| 黎川县| 调兵山市| 广宁县| 且末县| 额济纳旗| 措勤县| 万载县| 高雄县| 屏山县| 大石桥市| 洱源县| 通许县| 奇台县| 盐城市| 腾冲县| 当涂县| 曲松县| 前郭尔| 兰考县| 岳池县| 新竹市| 庐江县| 谷城县| 上饶县| 博爱县| 广德县| 启东市| 南京市|