我有一个对象联系人的数组。每个联系人都有3个参数:
我正在该函数中创建该数组:
public ActionResult AutocompleteCollabo(string term)
{
int NumDossier = StructureData.DonneNumDossier((string)Session["NumCRPCEN"], (string)Session["MotDePasse"]);
List<Contact> ListeContacts = StructureData.DonneListeElementDossier(NumDossier);
Contact[] tabContacts = new Contact[ListeContacts.Count()];
int count = 0;
foreach (Contact contact in ListeContacts)
{
tabContacts[count] = contact;
count++;
}
var collaborateurs = tabContacts;
var filteredItems = collaborateurs.Where(
item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0
);
return Json(filteredItems, JsonRequestBehavior.AllowGet);
}
现在我想比较函数中作为参数输入的字符串 term 数组中每个对象的名称和函数。由于数组是对象之一,我无法使用 indexOf 。有人有办法解决这个问题吗?
答案 0 :(得分:1)
由于您使用的是Linq,因此您可以在Contact对象上使用string.Contains。假设名称和函数都是字符串。
var filteredItems = collaborateurs.Where(
item => item.Name.Contains(term) || item.Name.Function.Contains(term)
);