int PID = 0;
string CID = "", SAddr = "";
float UPrice = 0;PID = Int32.Parse(ProductIDTB.Text.ToString());
UPrice = Float.Parse(PriceTB.Text);以上是从一本c#书上抄下来的。不明白的地方是: 数字型字符串怎么有的要用.ToString()处理一下再转换类型而有的却不用?
CID = CustomerIDTB.Text.ToString();
SAddr = AdressTB.Text; 同是字符串变量为何赋值时一个要加.ToString()处理一下一个却不用?
谢谢!

解决方案 »

  1.   

    ProductIDTB.Text
    按照名字来看应该是个TextBox
    他的Text肯定是个字符串
    书里的程序也是人写的 谁又能保证100%都是正确的
      

  2.   

    简单来说 原类型是字符串类型的话ToString()是可以不写的
    就如CID = CustomerIDTB.Text.ToString(); 就是废话
    记住 只要是字符串就不用加,但字符串还提供.ToString();其本质是用来格式化字符串的,比如格式成某种固定形式 
    //盗版书害人啊……
      

  3.   

    安全和效率,加上ToString方法是为了安全,保证肯定是字符串
    但这样就多了一条语句,效率就下去了
    有把握的情况下,还是少写,
      

  4.   

    Parse方法需要传入一个string类型的参数。
    使用ToString方法是为了保证类型为string
    详细信息可以查看MSDN
      

  5.   

    TextBox.Text 属性public virtual string Text {get; set;}如果是textbox,我觉得他那么写是多余的...