C# 统计列表中自身结构的重复项
每个人都有C# 统计列表中自身结构的重复项,c#,C#,每个人都有ID和Name,我怎样才能同时存储Name 预期产出: ID Count 1 7 2 5 有很多方法可以实现您想要的功能,例如,使用值类型作为键 ID Name Count 1 John 7 2 Andrew 5 公共结构人 { 公共int Id{get;set;} 公共字符串{get;set;} } Dictionary personListCount=新建字典(); //代码的其余部分 有很多方法可以实
ID
和Name
,我怎样才能同时存储Name
预期产出:
ID Count
1 7
2 5
有很多方法可以实现您想要的功能,例如,使用值类型作为键
ID Name Count
1 John 7
2 Andrew 5
公共结构人
{
公共int Id{get;set;}
公共字符串{get;set;}
}
Dictionary personListCount=新建字典();
//代码的其余部分
有很多方法可以实现您想要的功能,例如,使用值类型作为键
ID Name Count
1 John 7
2 Andrew 5
公共结构人
{
公共int Id{get;set;}
公共字符串{get;set;}
}
Dictionary personListCount=新建字典();
//代码的其余部分
首先,创建一个类来表示一个人:
public struct Person
{
public int Id {get;set;}
public string {get;set;}
}
Dictionary<Person, int> personListCount = new Dictionary<Person, int>();
//the rest of your code
现在,您可以有一个人员列表:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
最后,我们可以输出每组的人数:
var peopleGroups = people.GroupBy(p => p.Id);
输出
首先,创建一个类来表示一个人:
public struct Person
{
public int Id {get;set;}
public string {get;set;}
}
Dictionary<Person, int> personListCount = new Dictionary<Person, int>();
//the rest of your code
现在,您可以有一个人员列表:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
最后,我们可以输出每组的人数:
var peopleGroups = people.GroupBy(p => p.Id);
输出
创建一个包含所有要存储的属性的person对象,并创建一个字典。。。请参见下文@Sergii Bidnyi的回答。请澄清您的问题?标题并不十分清楚,因为示例代码中没有列表。但是您似乎需要创建一个
类Person
来包含Id
和Name
属性。创建一个Person对象,其中包含所有要存储的属性,并创建一个字典。。。请参见下文@Sergii Bidnyi的回答。请澄清您的问题?标题并不十分清楚,因为示例代码中没有列表。但是似乎需要创建一个类Person
来包含Id
和Name
属性。但是ContainsKey
将应用于整个结构,不是吗?我如何仅对ID
应用它?不要对个人的ID进行比较-如果(!personListCount.ContainsKey(person))您需要指定用于比较的属性或实现相等,因为默认比较是引用比较。但是ContainsKey
将应用于整个结构,不会吧?如何仅对ID
应用它?不要对个人的ID进行比较-如果(!personListCount.ContainsKey(person))您需要指定用于比较的属性或实现相等,因为默认比较是引用比较。