我的课程基本上是这样的:
class myClass
{
public string id;
public string name;
}
如果我有List<myClass>
,那么在搜索相应的myClass.name
时如何获得myClass.id
。
答案 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;