我有一个从数据库导入记录的ArrayList。 是否有任何方法来检查arrayList是否包含我要匹配的另一个api的列表?
List<PrimaryClass> primaryList = new List<PrimaryClass>(e.Result);
PrimaryClass sc = new PrimaryClass();
foreach (string item in str)
{
for (int a = 0; a <= e.Result.Count - 1; a++)
{
string schname = e.Result.ElementAt(a).PrimarySchool;
string tophonour = e.Result.ElementAt(a).TopHonour;
string cca = e.Result.ElementAt(a).Cca;
string topstudent = e.Result.ElementAt(a).TopStudent;
string topaggregate = e.Result.ElementAt(a).TopAggregate;
string topimage = e.Result.ElementAt(a).TopImage;
if (item.Contains(schname))
{
}
}
}
这是我到目前为止所提出的,请纠正我可能犯下的任何错误。感谢。
答案 0 :(得分:9)
答案 1 :(得分:6)
试试这个
foreach( string row in arrayList){
if(row.contains(searchString)){
//put your code here.
}
}
答案 2 :(得分:4)
好的,现在你已经证明它实际上是List<T>
,LINQ应该很容易:
if (primaryList.Any(x => item.Contains(x.PrimarySchool))
请注意,您应该考虑使用foreach
而不是for循环来迭代列表,除非您肯定需要索引...并且如果您正在处理list,使用索引器比调用ElementAt
更简单。
答案 3 :(得分:2)
// check all types
var containsAnyMatch = arrayList.Cast<object>().Any(arg => arg.ToString() == searchText);
// check strings only
var containsStringMatch = arrayList.OfType<string>().Any(arg => arg == searchText);