0

在下面的代码中我有一个问题:

    List<SurveyContext> surveys = (from s in DbContext.Surveys
                                   where s.userName == s.userName 
                                   select s.ID).ToList();
    if(surveys.Count() > 0)
                {
                   int id = 0;
                   int.TryParse(Surveys.First(), id);
                   return id;
                 }
                 return 0;

错误:ToList()

错误 1 ​​不能在此范围内声明名为“s”的局部变量,因为它会给“s”赋予不同的含义,后者已在“父或当前”范围中用于表示其他内容

在这里: int.TryParse(Surveys.First(), id); 当前上下文中不存在名称“调查”但是上下文中存在此名称...有人可以帮助我吗?

4

1 回答 1

1

错误 1

使用==代替=

where s.userName == userName

错误 2

s尝试以不同的方式在您的 linq 查询中命名变量,也许是susurvey. 但在我看来,错误出现在您没有显示的代码上。

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

错误 3

我认为您的意思是surveys代替,并且在传递参数时Surveys需要使用outid

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

而且由于您没有评估解析结果,我会说您应该使用int.Parse

id = int.Parse(surveys.First());

而且您必须使用调查的属性,您正在尝试将整个调查实例转换为 int

id = int.Parse(surveys.First().Property);
于 2013-05-21T20:44:50.567 回答