C# 如何从列表中获取对象
我想得到一个列表中的对象。我有以下代码C# 如何从列表中获取对象,c#,linq,list,C#,Linq,List,我想得到一个列表中的对象。我有以下代码 List<Product> productList = GetList(); var product = (from p in productList where p.Id == "xyz" select new Product() { Id = p.Id,
List<Product> productList = GetList();
var product = (from p in productList
where p.Id == "xyz"
select new Product()
{
Id = p.Id,
-,
-
});
foreach ( var p in product)
{
//some code
}
List productList=GetList();
var product=(来自productList中的p
其中p.Id==“xyz”
选择新产品()
{
Id=p.Id,
-,
-
});
foreach(产品中的var p)
{
//一些代码
}
我需要将对象直接放入var-product中List-productList=GetList();
List<Product> productList = GetList();
var product = (from p in productList
where p.Id == "xyz"
select new Product()
{
Id = p.Id,
-,
-
}).SingleOrDefault();
var product=(来自productList中的p
其中p.Id==“xyz”
选择新产品()
{
Id=p.Id,
-,
-
}).SingleOrDefault();
List productList=GetList();
var product=(来自productList中的p
其中p.Id==“xyz”
选择新产品()
{
Id=p.Id,
-,
-
}).SingleOrDefault();
您可以使用更合理的“方法”语法,而不是查询语法
var product = productList.SingleOrDefault(p => p.Id == "xyz");
编辑:您可以使用两种不同的方法来获取所需的元素
.SingleOrDefault()
将尝试查找您要查找的项,如果没有与表达式匹配的对象,则返回null(默认值)
.Single()
将执行相同的操作,只是如果找不到对象,它将引发异常
.FirstOrDefault()
将获得与表达式匹配的对象列表,并检索第一个对象。如果有多个Id为xyz
的对象,则.Single()
和.SingleOrDefault()
都将引发异常
.First()
的工作原理与.FirstOrDefault()
类似,但与类似。如果找不到要查找的内容,Single()
将引发异常。您可以使用更合理的“方法”语法,而不是查询语法
var product = productList.SingleOrDefault(p => p.Id == "xyz");
编辑:您可以使用两种不同的方法来获取所需的元素
.SingleOrDefault()
将尝试查找您要查找的项,如果没有与表达式匹配的对象,则返回null(默认值)
.Single()
将执行相同的操作,只是如果找不到对象,它将引发异常
.FirstOrDefault()
将获得与表达式匹配的对象列表,并检索第一个对象。如果有多个Id为xyz
的对象,则.Single()
和.SingleOrDefault()
都将引发异常
.First()
的工作原理与.FirstOrDefault()
类似,但与类似。如果没有找到要查找的内容,Single()
将引发异常。您可以使用.SingleOrDefault()
或.Single()
如果productList
已经是Product
的列表,则不要使用select new
重建Product
对象的新实例
你可以简单地做:
var product = productList.SingleOrDefault(p => p.Id == ...);
您可以使用
.SingleOrDefault()
或.Single()
如果productList
已经是Product
的列表,则不要使用select new
重建Product
对象的新实例
你可以简单地做:
var product = productList.SingleOrDefault(p => p.Id == ...);