List<>泛型的遍历问题
使用foreach循环可以遍历List<>的所有元素。现在想查找list中是否含有某个字符串,是否可以使用类似contains的方法?
[解决办法]
不是有Find方法吗
[解决办法]
[解决办法]
List<T> lst=new List<T>();
List<T> l=lst.FindAll(delegate(T t){return t.name.Contains("a");});
或使用LINQ
[解决办法]
用lambda表达式也可以
[解决办法]
可以用find。
[解决办法]
[解决办法]
[解决办法]
恩,其实楼上几位前辈教训一下是对的,简单的问题可以自己慢慢试试,你在对象后面.一下看感应出来的方法和属性,慢慢看哈就知道怎么做了。。。
[解决办法]
UP
[解决办法]
如果你看不懂委托,或者你可以换个角度来看如:
下面的代码可能会给你一些启示:
- C# code
private void button1_Click(object sender, EventArgs e) { List<string> myList = new List<string>(); for(int i = 0; i < 10; i++) { myList.Add(i.ToString ());//我给他填充1--10 } if (myList.Find(MathChar) != null) { MessageBox.Show("有这个元素"); } else { MessageBox.Show("没有这个元素"); } } private bool MathChar(string str) { if (str.Equals("3"))//这里来判断是否有3这个元素 return true; else return false; }
[解决办法]
看好了,MathChar是函数名
[解决办法]
没那么先进过,从来就是一个一个找,保险起见
[解决办法]
用Find方法呀...
[解决办法]
- C# code
List<string> myList = new List<string>(); for(int i = 0; i < 10; i++) { myList.Add(i.ToString ());//我给他填充1--10 } List<string > test=myList.FindAll(delegate(string t) { return t.Contains("3") ;}); if (test !=null ) { MessageBox.Show("有这个元素"); } else { MessageBox.Show("没有这个元素"); }
[解决办法]
受用!自己也试一试!
[解决办法]
[解决办法]
4L正解
[解决办法]
[解决办法]
你仔细想想我的条件和你的条件有什么区别。。。
你的test.count !=0与我的test !=null有很多的区别吗???
[解决办法]
- C# code
list.FindAll(a=>a.Contains("字符串"))