using System.Collections;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Data.DataSetExtensions;
public static void Main()
var testq = new List<TestQuestion>()
.GroupBy(p => p.QuestionId)
var grouped = p.ToList();
TestQuestion testQuestion = grouped.FirstOrDefault(x => x.SelectedAnswerId.HasValue);
return testQuestion ?? grouped.FirstOrDefault();
foreach(var item in result)
Console.WriteLine(item.Id);
public class TestQuestion
public int Id { get; set; }
public int QuestionId { get; set; }
public int? SelectedAnswerId { get; set; }