gpt4 book ai didi

c# - 在C#中使用LINQ时如何保持类型?

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:05 26 4
gpt4 key购买 nike

我试图返回一组不同的结果,这些结果首先使用Substring进行修整,但是当我调用“选择”时,它将其转换为匿名类型。我似乎无法获得此维护类型“列表”。我只需要返回Select方法中指定的字段。

public List<Facility> GetFacilities() {
var facilities = new List<Facility>();
facilities = _facilityRepository.GetAll().ToList();
var facReturnList =
facilities.Where(x => x.Fac_Name = "Something")
.OrderBy(x => x.Fac_Name).ToList();

var facReturnList2 =
facReturnList.Select(x =>
new { ID = x.Fac_Name.Substring(0, 6),
Fac_Name = x.Fac_Name.Substring(0, 3) })
.Distinct().ToList();
return facReturnList2;
}


我尝试在 List<Facility>之后添加 new,但是它说这些属性( IDFac_Name)未在Facility中定义。

最佳答案

是否要使用结果初始化新的Facility实例?

var facReturnList2 = facReturnList.Select(x => new Facility { ID =   // ...
^ concrete type initializer


编辑响应:在 Select运算符内,您需要指定要初始化的元素的类型,而不是它们的列表。您先前的代码似乎表明 Fac_Name是在 Facility中定义的,但显然不会在 List<Facility>中定义。

关于c# - 在C#中使用LINQ时如何保持类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com