C# if语句模式

C# if语句模式,c#,if-statement,C#,If Statement,我不明白这个while循环结构。如何分配风管电缆?我看到逻辑测试说:“如果类型是IMM,那么我们可以做一些事情”。但它看起来像是在同时赋值 items.Reset(); var item = items.Next(); while (item != null) { if (item is IMMDuctCable ductCable) { var newDuctCable = new MMDuctCableClass(); newDuctCable

我不明白这个while循环结构。如何分配风管电缆?我看到逻辑测试说:“如果类型是IMM,那么我们可以做一些事情”。但它看起来像是在同时赋值

items.Reset();
var item = items.Next();
while (item != null)
{
    if (item is IMMDuctCable ductCable)
    {
        var newDuctCable = new MMDuctCableClass();
        newDuctCable.cableID = ductCable.cableID; 
        ....

阅读类型模式:该语句相当于
if(item为immcductcable){var-ductCable=item为immcductcable;/*if bloc的其余部分*/
。它更易于键入和阅读-通常最好让编译器为您完成工作如果您想要“if Type为immcductcabe do stuff”逻辑,那么代码应该是
if(项目为IMMDuctCable){..}
。在您的示例中,还提供了一个变量来填充该值。