次のようなデータ: file1 file2 aaaa milk aaaa red bbbb box bbbb pen cccc rose 次のような結果を取得したい: file1: aaaa bbbb cccc オンラインで待機中の DB4objects の使用方法を教えてくれる人....
1 に答える
2
私の知る限り、db4oは「個別の」操作を直接サポートしていません。ただし、.NET-frameworkを使用しているため、結果に対してLINQ-Distinct操作を使用できます。.NET 3.5とC#を使用していると思います。私が間違っているときに教えてください。
例えば:
IObjectContainer db = // ...
var persons = (from Person p in db
select p).Distinct();
これにより、すべてのPersonオブジェクトの個別の結果が返されます。GetHashCode()およびEquals()-メソッドを使用してオブジェクトを比較します。
デフォルトの等しい比較を使用したくない場合は、IEqualityOperator-instanceをdistinctメソッドに渡すことができます。
class PersonByNameEquality : IEqualityComparer<Person>
{
public bool Equals(Person x, Person y)
{
return x.Firstname.Equals(y.Firstname);
}
public int GetHashCode(Person obj)
{
return obj.Firstname.GetHashCode();
}
}
// and then
IObjectContainer db = //...
var persons = (from Person p in db
select p).Distinct(new PersonByNameEquality());
于 2010-03-30T11:48:41.803 に答える