如何解决如何编写这种复杂条件的逻辑来使用 foreach 迭代和过滤对象的集合/列表?
我有一个 ConstructionsetTemp
对象,其结构如下:
public class ConstructionSetTemp
{
public string massing_type { get; set; }
public double above_grade_wall_u_value { get; set; }
public double roof_u_value { get; set; }
public double floor_u_value { get; set; }
}
还有一个对象OpaqueConstructiontemp
:
public class OpaqueConstructionTemp
{
public string name { get; set; }
public string intended_surface_type { get; set; }
public string outside { get; set; }
public string layer_2 { get; set; }
}
我正在从excel表中提取数据并形成一个db实体对象并将其存储在db中。 ConstructionSetTemp 的 Excel 表格数据如下
以下数据适用于 OpaqueConstructionTemp
对于 ConstructionsetTemp
表中的每一行,我将 OpaqueConstructionTemp
添加为对象列表。
我有一个条件,我需要跳过 OpaqueConstructionTemp 中的一行或其他行,同时将它们添加到 buildingsetTemp。该条件基于预期的表面类型以及来自 ConstructionSetTemp 的 OpaqueConstructionTemp 和 massing_type 的名称
条件 1 :如果 OpaqueConstructionTemp 的体量类型和名称包含 steel
并且预期表面类型为 exterior
我需要使用第二行,如第二行所示图片,需要跳过第三行
条件 2:如果 OpaqueConstructionTemp 的体量类型和名称包含 mass
并且预期表面类型为 exterior
,我需要使用第三行,如第二行所示图像,需要跳过第二行添加到 OpaqueConstructionTemp
下面是我循环遍历第一个列表对象 ConstructionSetTemp
和另一个 OpaqueConstructionTemp
foreach (var constructionSetTemp in constructionSetData)
{
string massingType = constructionSetTemp.massing_type;
foreach (var opaqueConstructionDataTemp in opaqueConstructionData)
{
string name = opaqueConstructionDataTemp.name;
string intended_surface_type = opaqueConstructionDataTemp.intended_surface_type
// here i need to skip the rows based on these variables
}
}
我知道我可以使用 continue
跳过当前行并执行下一行,但在这里我也需要根据条件跳过第二行,反之亦然。
我不知道如何编写条件语句以根据参数值跳过 foreach 循环内的相关行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。