List.Find с использованием структуры списка

ptuga спросил: 07 октября 2018 в 10:57 в: c#

Я борюсь с этой конкретной темой. У меня есть список элементов структуры, которые мне нужно использовать в качестве аргумента в методе.

public struct MyStruct
{    public string F1;
    public string F2;}List<MyStruct> NewList = new List<MyStruct>();
NewList.Add(new MyStruct { F1 = "AAA", F2 = "BBB" });
NewList.Add(new MyStruct { F1 = "CCC", F2 = "DDD" });

Если я попытаюсь найти в Элемент этого списка, используя LINQ, я могу использовать: var Element = NewList.Find (x = > x.F1 =="AAA");

, но Element возвращает что-то, что я не могу преобразовать в список? I можно использовать Element.F1 или Element.F2, но если мне нужно передать сам элемент в метод, как мне это сделать? Кроме того, если я попытаюсь определить элемент как:

List<MyStruct> Element = NewList.Find(x => x.F1 == "AAA");

Не получается! Но почему? Разве это не элемент этой структуры? .Find ищет элемент, представляющий собой две строки, определенные в полях структуры F1 и F2.

Если я использую .FindAll, то, похоже, ошибка исчезнет с определение List<MyStruct> Element? Как я могу определить один элемент для NewList?

Может ли кто-нибудь мне помочь?

Заранее спасибо


0 ответов