将 linq 转换为非 linq
Posted
技术标签:
【中文标题】将 linq 转换为非 linq【英文标题】:Converting linq to non linq 【发布时间】:2020-02-19 09:07:01 【问题描述】:您好,我一直在 Visual Studio 2008 .net 2 上使用 net 2,看来我的 linq 代码在这里不起作用。我在互联网上进行了一些搜索,但我没有看到从 linq 到非 linq。 这是我试图转换的代码。
var listWithoutCol = fmas.Select(x => new x.NcrbNo, x.LotInfo, x.FailureMode, x.JobOwner, x.Status, x.Originator, x.DateCreated ).ToList();
变量listWithoutCol将用于导出到excel。
希望你明白我的意思。
【问题讨论】:
只需遍历fmas
并自己创建模型并将它们添加到列表 listWithoutCol
?
C#2 也不支持匿名类型。 var
也不是,所以这并不像使用 foreach
那样简单。
是时候升级了,别再乱用不受支持的软件和框架了。
@Adriani6 推荐并实现它是我们的工作!
@MichaelRandall 是的,是的,它不应该是。我们,开发人员从另一个角度看待业务案例,而不是非技术“项目经理”,他们需要有理由花钱购买当前“有效”的东西。大约 2 年以来,我一直试图将我们的“过时”产品转移到更新的平台上,而且......它没有发生,因为它“有效”。但这只是一个原因,显然还有许多其他问题,例如过时的环境(船只对此不利)、第三方集成等。我相信您已经知道了。咆哮:)
【参考方案1】:
建议您更新到支持 linq 的较新版本。 但是你可以创建一个新类:
class Job
public int NcrbNo; // use proper types.
public int LotInfo;
public int FailureMode;
public int JobOwner;
public int Status;
public int Originator;
public DateTime DateCreated;
然后只需使用 foreach 进行迭代。
List<Job> listWithoutCol = new List<Job>();
foreach (FmasType element in fmas) // Replace FmasType with the type it is.
Job job = new Job();
job.NcrbNo = element.NcrbNo;
job.LotInfo = element.Lotinfo;
job.FailureMode = element.FailureMode;
job.JobOwner = element.JobOwner;
//..etc..
listWithoutCol.add(element);
【讨论】:
fmas 类型是什么?以上是关于将 linq 转换为非 linq的主要内容,如果未能解决你的问题,请参考以下文章