C#中的任何Visual Basic"With"模拟?

ser*_*hio 4 .net c# vb.net vb.net-to-c# c#-4.0

可能重复:
Visual Basic关键字的C#等价物:'With'...'End With'?

VB.NET

With Alpha.Beta.Gama.Eta.Zeta
    a = .ZetaPropertyA
    b = .ZetaPropertyB
    c = .ZetaPropertyC
End With
Run Code Online (Sandbox Code Playgroud)

C#?

a = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyA
b = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyB  
c = Alpha.Beta.Gama.Eta.Zeta.ZetaPropertyC
Run Code Online (Sandbox Code Playgroud)

Fem*_*ref 12

不,不存在.

虽然你可以缩短一点:

var z = Alpha.Beta.Gama.Eta.Zeta;

z.ZetaPropertyA = a;
z.ZetaPropertyB = b; 
z.ZetaPropertyC = c;
Run Code Online (Sandbox Code Playgroud)

对于你的其他情况:

var z = Alpha.Beta.Gama.Eta.Zeta;

a = z.ZetaPropertyA;
b = z.ZetaPropertyB;
c = z.ZetaPropertyC;
Run Code Online (Sandbox Code Playgroud)

这应该是显而易见的;)

  • 我认为这是一个非常好的解决方法...不完美,但每行只有一个额外的字符.而且我一直认为WITH语句对于维护程序员而言不太可读. (2认同)