我正在尝试将以下VB.NET代码转换为C#: stacks.AddRange( From bin In UpstreamBinNames Where bin BinName(BeforeTrack) Select binWall = ConfigGlobals.Bins(bin).Wall From aStack In binWall.Stacks Select aStack) 我得到了第一部分
stacks.AddRange(
From bin In UpstreamBinNames
Where bin <> BinName(BeforeTrack)
Select binWall = ConfigGlobals.Bins(bin).Wall
From aStack In binWall.Stacks Select aStack)
我得到了第一部分,但后半部分变得令人困惑.如果没有LINQ,我怎么能重写呢?
谢谢.
会是这样的(原谅使用C#,但你应该得到这个想法):foreach(var bin in UpstreamBinNames)
{
if(bin != BinName(BeforeTrack)
{
var binWall = ConfigGlobals.Bins(bin).Wall;
foreach(var aStack in binWall.Stacks)
{
stacks.Add(aStack);
}
}
}
