赞
踩
ObservableCollection<T>
类中使用:ObservableCollection<T>
类是 C# 中的一个集合类,它继承自 Collection<T>
并实现了 INotifyCollectionChanged
接口,使得集合的更改可以自动通知给任何监听它的界面元素。这使得它在WPF、UWP或其它XAML技术中特别有用,用于数据绑定。
IndexOf
方法是一个从 List<T>
继承而来的方法,在 ObservableCollection<T>
中也可用。这个方法用于查找指定对象在集合中的索引位置。如果对象在集合中存在,它将返回该对象的第一个匹配项的索引;如果不存在,则返回 -1。
- using System;
- using System.Collections.ObjectModel;
-
- class Program
- {
- static void Main()
- {
- // 创建一个 ObservableCollection 对象,泛型参数为 object
- ObservableCollection<object> items = new ObservableCollection<object>();
-
- // 向集合中添加一些对象
- items.Add("Apple");
- items.Add("Banana");
- items.Add("Cherry");
-
- // 使用 IndexOf 查找 "Banana" 在集合中的索引
- int index = items.IndexOf("Banana");
-
- if (index != -1)
- {
- Console.WriteLine($"'Banana' 的索引位置是: {index}");
- }
- else
- {
- Console.WriteLine("'Banana' 不在集合中。");
- }
-
- // 尝试查找一个不在集合中的对象
- index = items.IndexOf("Orange");
- Console.WriteLine(index != -1 ? $"'Orange' 的索引位置是: {index}" : "'Orange' 不在集合中。");
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
在字符串中,IndexOf
方法用于查找指定字符或子字符串首次出现的位置。
- string str = "Hello, world!";
- int index = str.IndexOf("world");
- // 输出: 7,因为 "world" 开始于索引 7
- Console.WriteLine(index);
对于数组,你可以使用 Array.IndexOf
静态方法来查找元素的索引。
- int[] numbers = { 1, 2, 3, 4, 5 };
- int index = Array.IndexOf(numbers, 3);
- // 输出: 2,因为 3 是数组中的第二个元素
- Console.WriteLine(index);
与 ObservableCollection<T>
类似,List<T>
也提供了 IndexOf
方法来查找元素的索引。
- List<int> list = new List<int> { 10, 20, 30, 40 };
- int index = list.IndexOf(30);
- // 输出: 2,因为 30 是列表中的第三个元素
- Console.WriteLine(index);
虽然 LINQ 没有直接提供 IndexOf
方法,但可以通过 Enumerable.IndexOf
方法或 ElementAt
结合条件判断来间接实现类似功能。
String.IndexOf
还有重载方法,可以让你在搜索时忽略大小写等。
- string text = "Hello World";
- int indexIgnoreCase = text.IndexOf("world", StringComparison.OrdinalIgnoreCase);
- // 输出: 6,即使"W"小写也能找到
- Console.WriteLine(indexIgnoreCase);
总的来说,IndexOf
是一个非常实用的方法,用于确定一个元素或子串在集合、字符串或数组中的起始位置,广泛应用于各种数据检索和处理场景。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。