听起来就像你试图找到重复的东西,但没有清楚地知道你正在努力实现它的困难,以帮助你找到解决问题的充分办法。
使用您提供的一些细节,下面是循环遍历重复项的通用解决方案。
public static void Main()
{
var budgets = new List<Budget>()
{
new Budget(){ Id = 1, Range = "A" },
new Budget(){ Id = 2, Range = "B" },
new Budget(){ Id = 3, Range = "C" },
new Budget(){ Id = 4, Range = "C" },
new Budget(){ Id = 5, Range = "A" }
};
var duplicateBudgetGroups = budgets.GroupBy(budget => budget.Range).Where(group => group.Count() > 1);
foreach (var duplicateBudgets in duplicateBudgetGroups)
{
Console.WriteLine("Duplicate Range {0}", duplicateBudgets.Key);
foreach (var budget in duplicateBudgets)
{
Console.WriteLine("Budget {{ Id = {0}, Range = {1} }}", budget.Id.ToString(), budget.Range);
}
}
}
class Budget {
public int Id { get; set; }
public string Range { get; set; }
}
我已经添加了这dotnetfiddle所以你可以看到它的工作:https://dotnetfiddle.net/65gF6f
感谢您的答复。范围是字符串类型。什么应该是var z =? – Ram
什么是var z = ...? – Ram
@Ram我以为你从一开始就有一个特定的'z'?我可能误解了。 –