ObservableCollection<T>获取索引
如果是普通类型我们直接可以用indexOf()获取,比如:
ObservableCollection<string> oc = new ObservableCollection<string>(); oc.Add("Item1"); oc.Add("Item2"); oc.Add("Item3"); string item = "Item2"; int index = oc.IndexOf(item); Console.WriteLine(index); // 输出:1
但如果是自定义的类型,切内部存在多个成员时,我们要根据某一成员获取这成员所在行的所以值就无法这样用了
自定义类型:
public class ConnectDataModel: NotifyBase { private string _num; public string Num { get { return _num; } set { _num = value; this.NotifyChanged(); } } private string _tagName; public string TagName { get { return _tagName; } set { _tagName = value; this.NotifyChanged(); } } private string _description; public string Description { get { return _description; } set { _description = value; this.NotifyChanged(); } } private string _dataType; public string DataType { get { return _dataType; } set { _dataType = value; this.NotifyChanged(); } } private string _adress; public string Adress { get { return _adress; } set { _adress = value; this.NotifyChanged(); } } private string _driver; public string Driver { get { return _driver; } set { _driver = value; this.NotifyChanged(); } } private string _value; public string Value { get { return _value; } set { _value = value; this.NotifyChanged(); } }
定义集合:
public static ObservableCollection<ConnectDataModel> ConnectDataCollection { get; set; } = new ObservableCollection<ConnectDataModel>();
为集合添加数据:
ConnectDataCollection.Add(new ConnectDataModel { //Num ="1", TagName= "AA", Description= "BB", DataType= "CC", Adress= "DD", Driver= "EE" });
我们通过"AA"来获取其所在的索引
ConnectDataModel TagNameCollection = ConnectViewModel.ConnectDataCollection.Where(o => o.TagName == "AA").SingleOrDefault();////Linq获取列表选中值(唯一元素) int index = ConnectViewModel.ConnectDataCollection.IndexOf(TagNameCollection);//获取列表选中值的索引 ConnectViewModel.ConnectDataCollection.RemoveAt(index);//移除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗