Dear 大虾:
    今日发现一奇怪现象,描述如下:
    环境:ASP.NET(2008ENG)+C#
    问题:string str1="1234567890";
          int Sign=str1.Length / 2;
          string str2=str1.Subing(Sign,1);    运行时将鼠标移至“Length“上能看到长度为“10”,可是将鼠标移至“Sign”上就是不显示任何内容,查看“局部变量”里也没有Sign这个变量存在,请大虾指教!

解决方案 »

  1.   

    将Sign添加监视 查看Sign的值
          string   str2=str1.SubString(Sign,1); 
      

  2.   

    string str2=str1.SubString(Sign,1);  如果str1的长度是9,则sign=4
      

  3.   


            string str1 = "1234567890 ";
            int Sign = str1.Length / 2;
            string str2 = str1.Substring(Sign, 1);
            Response.Write(str2);
    //输出6,没什么问题啊!
      

  4.   

    运行到此行的时候你的 SIGN 变量还没有赋值啊,当然没有啦。
    你可以添加监视,或者到一行时再来看这个变量是否有值。
    从代码观察没发现问题。
      

  5.   

    Sorry,我在非DEBUG模式下,运行的,Sorry。在Release模式下:
    在逐步运行时查看“局部变量”列表中,发现Sign并没有被生成在BEDUG模式下:
    在逐步运行时查看“局部变量”列表中,程序一运行就可在其中找到“Sign”变量
    或许在调试中途追加变量进程序或许需要注意以下当前模式吧
      

  6.   


    Sorry:str1.Length  是10吧
      

  7.   


    Sorry:str1.Length 是10吧