Docs 菜单
Docs 主页
/ /
支持的数据类型

列表 - .NET SDK

Realm列表实现 IList<T> ,并包含零个或多个Realm类型的实例。与C# List一样, Realm集合也是同质的(集合中的所有对象都是同一类型)。

Realm对象可以包含任何受支持数据类型的列表。您可以通过定义IList<T>类型的仅 getter属性来创建集合,其中 T 可以是任何数据类型(其他集合除外)。域对象列表表示两个Realm类型、列表中的包含类和类型之间的对多关系

列表是可变的:在写事务中,您可以添加和删除列表上的元素。

从数据库中删除对象会将其从其存在的所有列表中删除。 因此,对象列表永远不会包含已删除的对象。 但是,基元类型列表可以包含 null 值。 如果您不想在列表中允许 null 值,则可以在列表声明中使用不可为 null 的类型(例如,使用IList<double>而不是IList<double?> )。 如果您使用的是较旧的模式类型定义(您的类派生自RealmObject基类),或者未启用可空性,则在列表包含可引用类型(例如stringbyte[]

重要

不支持同步

仅限本地 Realm 支持可为 null(可选)值的集合,但Sync不支持。

有关详细信息,请参阅必需和可选属性。

您可以使用列表上的INotifyCollectionChanged.CollectionChanged事件来监视对列表的更改,并使用INotifyPropertyChanged.PropertyChanged事件来监视对列表中特定属性的更改。

在以下代码示例中,我们有一个类,它有名为 StringListIList<string> 属性。我们为 CollectionChangedPropertyChanged 事件设置事件处理程序:

var list = container.StringList.AsRealmCollection();
list.CollectionChanged += (sender, e) =>
{
Console.WriteLine($"List {sender} changed: {e.Action}");
};
list.PropertyChanged += (sender, e) =>
{
Console.WriteLine($"Property changed on {sender}: {e.PropertyName}");
};

后退

结果集合

在此页面上