【问题标题】:Setting an ID as an Integer with C#使用 C# 将 ID 设置为整数
【发布时间】:2012-04-06 21:21:30
【问题描述】:

我目前正在使用以下脚本将此值设置为字符串:

string ID = Request.QueryString["ID"].ToString();

但是,我现在想将其存储为整数。

我该怎么做?

非常感谢您的任何指点。

【问题讨论】:

    标签: c# asp.net variables integer


    【解决方案1】:

    假设您不想在错误的字符串上引发服务器错误

    int id=0;
    if (int.TryParse(Request.QueryString["ID"],out id)) {
      .. logic for valid id
    } else {
      .. logic for invalid id
    }
    

    【讨论】:

    • 您不需要ToString()QueryString 属性已经将索引值作为字符串返回。
    • @QuickJoeSmith Doh,是自动的,我打算删除它。现已更新
    • 据我所知,冗余调用可能已经被优化掉了。
    • 你也不需要 .QueryString 部分,你可以只做 Request["ID"],虽然使用 Request.QueryString 更具可读性
    • 请记住,Request[key] 将搜索服务器变量、cookie 和表单字段以及查询字符串。在很多情况下,价值的来源与其价值一样重要。
    【解决方案2】:
    int ID = int.Parse(Request.QueryString["ID"].ToString());
    

    【讨论】:

      【解决方案3】:

      使用以下任何一种:

      如果你知道你有一个ID:

      string ID = Request.QueryString["ID"];
      int integerId = int.Parse(ID);
      

      或者,如果查询字符串可能丢失或无效(永远不要相信查询字符串......)

      string ID = Request.QueryString["ID"];
      int integerId;
      if (int.TryParse(ID, out integerId))
      {
         // you have a valid integer ID here.
         // process it
      }
      else
      {
          // handle missing or invalid ID
      }
      

      【讨论】:

        【解决方案4】:

        你可以这样做:

        int i = Convert.ToInt32(ID);
        

        int i;
        Int32.TryParse(ID, out i);
        

        顺便说一句 Request.QueryString["ID"] 已经是一个字符串,所以以下是可以的:

        string ID = Request.QueryString["ID"];
        

        【讨论】:

          【解决方案5】:

          试试

          int ID = int.Parse(Request.QueryString["ID"]);
          

          How can I convert String to Int?

          【讨论】:

            【解决方案6】:

            你可以这样做:

            string ID = Request.QueryString["ID"].ToString();
            
            int id=int.Parse(ID);
            

            int id=Convert.ToInt16(ID);
            

            【讨论】:

              【解决方案7】:

              如果您想将查询字符串值转换为整数,即使您从未将其设置为 string ,请始终使用 tryparse 值,因为用户可以在发送请求之前随时更改它(在 URL 中可见)。

              int id = 0 ;//默认值

              bool 成功 = int.TryParse(Request.QueryString["ID"],out id))

              如果(成功){ //为默认值操作编写代码 返回; }

              //为其他值编写代码。

              【讨论】:

                猜你喜欢
                • 2018-03-15
                • 1970-01-01
                • 1970-01-01
                • 2021-09-17
                • 1970-01-01
                • 1970-01-01
                • 2011-01-08
                • 2012-02-05
                • 2021-07-29
                相关资源
                最近更新 更多