我有一个收音机列表,我试图制作一个更加用户友好的版本。在幕后,所有的描述都是stringIds,所有的零件号都是数据库ID。比嵌套foreach更好的方法吗?
现在,我有这样的代码:
var z = (from w in wireless
join s in allStrings on w.DescriptionId equals s.StringId
join u in allUids on w.Uid equals u.Uid
where s.LanguageId == 0
select new {w, s, u});
List<RadioProperty> rp = new List<RadioProperty>();
foreach (var x in z)
{
foreach(var y in x.w.RadioToVoltage)
{
rp.Add(new RadioProperty
{
PartNumber = x.u.PartNumber,
Description = x.s.Description,
CurrentType = y.Id.VoltageType,
Voltage = y.Id.VoltageValue,
});
}
}
基本上每个无线电零件号可以有多种电压选项。 我们可以用无线电ABC与48VAC,110VAC和240VAC选项,所以我试图创建3个单独的RadioProperty项目,每个电压选项一个。
有没有更好的方法来做到这一点?我正在运行.Net 3.5。
感谢
不管采用哪种方式,在看这段代码,第一次我比较困惑的非嵌套循环的非描述性变量名称。 – 2010-02-05 20:50:30
没错,不是我常见的命名方案,只是想把一个例子放在一起。 – taylonr 2010-02-05 20:52:57