私は次の仕事に苦労しています。任意の提案をいただければ幸いです!
以下のようなPersonオブジェクトのリストがあります。
public class Person {
private string firstname {get; set}
private string lastname {get; set}
private string zipcode {get; set;}
private string id {get; set;}
private int freq = 1;
public Person(...) {...}
}
List<Person> PersonList = new List<Person>; //Gets populated with Person objects
郵便番号内に一意の名前を持つすべての人を見つけたいです。
これまで、(名、姓、郵便番号)のすべての異なる組み合わせに対して頻度カウントを実行し、頻度= 1の組み合わせを選択しようとしましたが、これらの人々のIDに関するすべての情報が失われます。グループ化操作にもかかわらず、元のPersonオブジェクトを保持する方法が必要です。
以下は私が上で述べた頻度カウントですが、それは私が探している結果ではありません:
var QueryFreqAnalysis =
from p in PersonList
group p by new { p.firstName, p.lastName, p.zipcode } into g
select new {
fName = g.Key.firstname,
lName = g.Key.lastname,
zip3 = g.Key.zipcode,
freq = g.Sum(p => p.freq)
};
前述したように、freq = 1のg内のグループを選択できるようになりましたが、個人IDに関するすべての情報が失われました。
問題を明確にしたと思います。提案を事前に感謝します!