我无法理解为什么这段代码会产生很多空行:
int nr = 0;
foreach (var item in lists.Select(x => x.match_id))
{
foreach (var match in lists)
{
Console.Write(match.nickname
.Where(x => lists[nr].match_id == match.match_id)
.Select(z => match.nickname)
.FirstOrDefault());
}
nr++;
}
下面的所有空值都是下一个记录,然后是更多的空值等等。为什么?
答案 0 :(得分:0)
您在同一个数组中循环两次。我想你想做的事:
for(int i = 0; i < lists.length; i++){
Console.Write(item.nickname
.Where(x=> lists[i].match_id === item.match_id)
.Select( z=> item.nickname)
.FirstOrDefault());
}
快看后我的2美分..
答案 1 :(得分:0)
要输出null
,如果值为Console.Write
,则无需致电null
。
尝试这样的事情:
int nr = 0;
foreach (var item in lists.Select(x => x.match_id))
{
foreach (var match in lists)
{
var n = match.nickname
.Where(x => lists[nr].match_id == match.match_id)
.Select(z => match.nickname)
.FirstOrDefault();
if (n != null)
{
Console.Write(n);
}
}
nr++;
}