Есть List<Student>
students со свойствами:
public int Id { get; set; }
public string Name { get; set; }
Есть переменная
string text;
Нужно найти индекс List-а students такого, что свойство Name совпадало со строкой text (Name == text), используя LINQ и лямбда выражения.
В классе List
есть специальный метод FindIndex
, принимающий предикат. В качестве предиката можно передать лямбда выражение. Хоть здесь и не используются методы Linq, но этот способ более эффективен (один проход по списку):
var students = new List<Student>()
{
new Student { Id = 0, Name = "Ivan" },
new Student { Id = 1, Name = "Petr" },
new Student { Id = 2, Name = "Oleg" },
};
var needle = "petr";
int index = students.FindIndex(s =>
string.Equals(s.Name, needle, StringComparison.CurrentCultureIgnoreCase));
Console.WriteLine(index);
Как-то так:
void Main()
{
List<Student> students = new List<Student>()
{
new Student{Id = 0, Name = "Ivan"},
new Student{Id = 1, Name = "Petr"},
new Student{Id = 2, Name = "Oleg"},
};
var needle = "petr";
var elem = students.FirstOrDefault(x => string.Equals(x.Name, needle, StringComparison.InvariantCultureIgnoreCase));
var index = students.IndexOf(elem);
}
// Define other methods and classes here
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
От linq здесь поиск студента, а раз вам нужен индекс - то здесь IndexOf
Можно добавить расширяющий метод
public static int IndexOf<T>(this IEnumerable<T> list, Predicate<T> condition)
{
var i = -1;
return list.Any(x => { i++; return condition(x); }) ? i : -1;
}
И искать одним запросом к списку
var index = students.IndexOf(x =>
string.Equals(x.Name, needle, StringComparison.InvariantCultureIgnoreCase));
Всем приветЧем в C# можно заменить WebBrowser? Кроме Awesomium
Не могу понять, если у меня два PunRPC метода в 1 скрипте, то если я вызываю первый метод у Мастер клиента, а второй уже у клиента(который отправил),...
Всем хай Вообщем проблема небольшая Как можно Doc передать в функцию AddData? Я просто через вторую форму даю Doc какой то текст, но оно далее не присваивает...
Есть сайт, мне нужно получать с него данныеЯ узнал, что нужно делать запрос к скрипту и получать от него ответ