我正在使用LINQ从db获取内容并将其放入ViewBag
:
ViewBag.ProcessNames = db.myTable.Select(o => o.ProcessName).Distinct();
ViewBag.ProcessNames
项目为[0]="String1", [1]="String2", [3]="String3"
。
然后我使用First()
获取ViewBag.ProcessNames
中的第一个字符串,但它会向我返回String2
:
string temp = ((IQueryable<string>)ViewBag.ProcessNames).First();
如果我先将ViewBag.ProcessNames
转换为List()
,First()
将获得我想要的正确字符串String1
:
ViewBag.ProcessNames = db.myTable.Select(o => o.ProcessName).Distinct().ToList();
string temp = ((List<string>)ViewBag.ProcessNames).First();
为什么IQueryable<string>.First()
无法获得第一个字符串?