c#字符串转ObservableCollection
时间: 2023-07-05 22:32:03 浏览: 44
可以使用 Split() 方法将字符串转换为字符串数组,然后使用 ObservableCollection 构造函数将数组转换为 ObservableCollection。
例如:
```csharp
string str = "apple,banana,orange";
ObservableCollection<string> collection = new ObservableCollection<string>(str.Split(','));
```
这样就可以将字符串 "apple,banana,orange" 转换为包含三个元素的 ObservableCollection,分别是 "apple"、"banana" 和 "orange"。注意,这种方法需要在 UI 线程中执行,因为 ObservableCollection 是用于在 WPF 和 UWP 等框架中绑定到 UI 元素的。如果在其他线程中使用 ObservableCollection,可能会导致线程错误。
相关问题
c#observablecollection
C#中的ObservableCollection是一种特殊的集合类型,它可以在集合发生变化时通知绑定到该集合的UI元素进行更新。ObservableCollection继承自ICollectionChanged接口,该接口定义了CollectionChanged事件,当集合发生变化时,该事件会被触发。ObservableCollection还实现了INotifyPropertyChanged接口,该接口定义了PropertyChanged事件,当集合中的元素发生变化时,该事件会被触发。因此,ObservableCollection可以用于在WPF和Silverlight应用程序中实现数据绑定。如果需要在集合中添加自定义的验证逻辑,可以通过扩展ObservableCollection来实现。可以使用CollectionChanged事件来订阅集合变化的通知,例如:
```
this.StudentList.CollectionChanged += StudentList_OnCollectionChanged;
```
或者
```
StudentList.CollectionChanged += new NotifyCollectionChangedEventHandler(StudentList_OnCollectionChanged);
```
c#去除ObservableCollection重复项
假设你有一个名为`myCollection`的`ObservableCollection`,你可以使用以下代码来去除重复项:
```csharp
myCollection = new ObservableCollection<Type>(myCollection.Distinct());
```
其中,`Type`是你集合中元素的类型。`Distinct()`方法会返回一个新的序列,其中不包含重复项。通过将新序列传递给`ObservableCollection`的构造函数,你可以创建一个新的、没有重复项的`ObservableCollection`。