【问题标题】:How to convert String taken from a TextField view to an int in C#如何将取自 TextField 视图的字符串转换为 C# 中的 int
【发布时间】:2018-01-15 16:19:13
【问题描述】:

在文本字段中将 int 转换为字符串 (visual studio)

int id = int.parse(textfield1.Text).ToString();

它会出错请解决这个问题吗?

【问题讨论】:

  • 请阅读错误,它说明您做错了什么。这就是错误的目的,也是消息。
  • ToString() 将对象类型转换为字符串类型。为什么需要它将值映射到 int 类型?

标签: c# type-conversion


【解决方案1】:

要将 int 转换为字符串,可以使用以下方法之一:

1.

int number = 0;
string value = "5";

number = int.parse(value);
// your code

2.

int number = 0;
string value = "5";

number = Convert.ToInt32(value);
// your code

3.

int number = 0;
string value = "5";

bool result = Int32.TryParse(value, out number); 
if (result == true)
{
    // your code
}

【讨论】:

    【解决方案2】:

    您可能想到的第一个尝试是:

    var id = textfield1.Text;
    Console.WriteLine(id);
    

    var id = int.Parse(textfield1.Text);
    

    但这一点都不安全(如果 textfield1 保存的东西不能转换成整数怎么办?)

    这就是为什么你应该采取最好的方式。

    //here the result of the conversion
    var output = -1;
    // a variable to verify whether the result was ok or not.
    var resultOk = Int32.TryParse(textfield1.Text, out output);  
    
    Console.WriteLine(output );
    

    【讨论】:

    • 然而,无需分配outputTryParse 会为您执行此操作(保证会分配 out 参数)。
    【解决方案3】:

    您在调用.ToString() 时再次将其转换回字符串 只需使用

    int id = int.parse(textfield1.Text);
    

    或者这样可以避免无效值

    int id;
    if(int.TryParse(textfield1.Text,out id)){
      //Valid value
    }
    else
    {
      //Invalid value
    }
    

    【讨论】:

      【解决方案4】:

      你有一个错字解析应该是 Parse =>int.Parse 之后你不需要 tostring 因为你将它转换回字符串

       int id = int.Parse(textfield1.Text);
      

      【讨论】:

        【解决方案5】:

        最后不需要 To.String。

        只是

        int id = int.Parse(textfield1.Text);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-01
          • 1970-01-01
          • 2021-10-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多