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

本文关键字:错误 无效 术语 表达式 代码 | 更新日期: 2023-09-27 18:14:48

  • 错误 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<int>List<SomeType>

  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 的任何等效属性(

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

更新:我看到你已经更新了这个问题,看起来你所拥有的应该可以解决问题。.