代码中的表达式术语错误无效

  • 错误1'int.TryParse(string,out int)'的最佳重载方法匹配有一些无效参数
  • 错误2参数1:无法从'int'转换为'string'

    它给我错误“int.TryParse(surveys.First(),out id);”

       L
          var surveys = (from su in DbContext.Surveys
                                   where su.userName == su.userName 
                                   select su.ID);
    if(surveys.Count() > 0)
                {
                 int id = 0;
                 int.TryParse(surveys.First(), out id);
                   return id;
                 }
                 return 0;
    

  • 从TryParse()中移除int;

    int.TryParse(surveys.First(), out int id);
    

    应该

    int.TryParse(surveys.First(), out id);
    

    更改: -

    List<SurveyContext> surveys = (from su in DbContext.Surveys
                                              where su.userName == su.userName 
                                              select su.ID).ToList();
    

    List<string> surveys = (from su in DbContext.Surveys
                                              where su.userName == su.userName 
                                              select su.ID);
    

    您试图在Linq中选择string类型,并将其放入List<SomeType> ,它应该是List<int>

      var surveys = (from su in DbContext.Surveys
                                                  where su.userName == su.userName 
                                                  select su.ID);
    
      //Code follows
      int.TryParse(surveys.First(), out id);
    

    这听起来像你想要这样的东西。 将int数据类型移动到变量的声明中,并在First()方法之后添加属性字段名称。 (或您在保存其Id的Survey对象上拥有的任何等效属性)

    if(surveys.Count() > 0)
    {
        int id = 0;
        int.TryParse(surveys.First().Id, out id);
        return id;
    }
    return null;
    

    更新 :我看到你已经更新了这个问题,它看起来像你应该做的伎俩..

    链接地址: http://www.djcxy.com/p/15891.html

    上一篇: Invalid expression term error in the code

    下一篇: Converting string to byte array in C#