C#从类列表中返回值

时间:2017-10-05 16:36:04

标签: c#

我的课程基本上是这样的:

class myClass
{
    public string id;
    public string name;
}

如果我有List<myClass>,那么在搜索相应的myClass.name时如何获得myClass.id

3 个答案:

答案 0 :(得分:2)

这就是你如何做到的。

使用where搜索班级列表。

获取FirstOrDefault()元素。

如果找到一个元素,则First或Default返回它,否则返回null。检查null,如果元素不为null,则获取名称。

void Main()
{
    List<myClass> classList = new List<myClass>();
    classList.Add(new myClass(){id="1", name="A"});
    classList.Add(new myClass(){id="2", name="B"});
    classList.Add(new myClass(){id="3", name="C"});
    classList.Add(new myClass(){id="4", name="D"});
    classList.Add(new myClass(){id="5", name="E"});

    var element = classList.Where(t=>t.id=="5").FirstOrDefault();
    if(element != null)
    {
      var name = element.name;
      Console.WriteLine(name);
    }
}

class myClass
{
    public string id;
    public string name;
}

答案 1 :(得分:1)

LINQ扩展方法非常简单。

var classes = new List<myClass>();
classes.AddRange(classesToAdd);

var foundClassName = classes.Single(x => x.id == idToSearchFor).name;

答案 2 :(得分:1)

我还需要更多的东西...你应该在你尝试的地方张贴一些代码......否则你会得到猜答案......但无论如何:

var list = new List<myClass>();
//add entries

var name = list.First( x => x.id == myId ).name;

如果nulls是潜在的,您可以使用FirstOrDefault和null条件运算符:

var name = list.FirstOrDefault( x => x.id == myId)?.name;