using System; using System.Linq; using System.Collections.Generic; public class Test { class Data { public int index; public string[] types; } public static void Main() { List dataList = new List(); dataList.Add(new Data(){index = 1, types = new string[]{"street_number", "tits_size"}}); dataList.Add(new Data(){index = 2, types = new string[]{"route", "ass_size"}}); dataList.Add(new Data(){index = 3, types = new string[]{"street_number"}}); dataList.Add(new Data(){index = 4, types = new string[]{"locality"}}); var neededData = dataList.FindLast(data => data.types.Contains("street_number")); Console.WriteLine(neededData.index); } }