1
  • 错误 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;
    
4

2 回答 2

11

从 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);

您正在尝试string在 Linq 中选择类型并将其放入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);
于 2013-05-21T22:25:44.543 回答
0

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

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

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

于 2013-05-21T22:51:20.950 回答