Equality comparison between multiple variables

JPReddy picture JPReddy · Jul 15, 2010 · Viewed 63.2k times · Source

I've a situation where I need to check whether multiple variables are having same data such as

var x=1;
var y=1;
var z=1;

I want to check whether x==1 and y==1 z==1 (it may be '1' or some other value). instead of this, is there any short way I can achieve same such as below

if(x==y==z==1)

Is this possible in C#?

Answer

jevakallio picture jevakallio · Jul 15, 2010

KennyTM is correct, there is no other simpler or more efficient way.

However, if you have many variables, you could also build an array of the values and use the IEnumerable.All method to verify they're all 1. More readable, IMO.

if (new[] { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 }.All(x => x == 1))

Instead of

if(v1 == 1 && v2 == 1 && v3 == 1 && v4 == 1 && v5 == 1 && v6 == 1 && v7 == 1 && v8 == 1 && v9== 1 && v10 == 1)