c# - Is this big complicated thing equal to this? or this? or this? -


let's i'm working object of class thing. way i'm getting object bit wordy:

 bigobjectthing.uncle.preferredinputstream.nthrelative(5) 

i'd see if thing equal x or y or z. naive way write might be:

 bigobjectthing.uncle.preferredinputstream.nthrelative(5) == x ||  bigobjectthing.uncle.preferredinputstream.nthrelative(5) == y ||  bigobjectthing.uncle.preferredinputstream.nthrelative(5) == z 

in languages write this:

 bigobjectthing.uncle.preferredinputstream.nthrelative(5) == x |= y |= z 

but c# doesn't allow that.

is there c#-idiomatic way write test as single expression?

just use variable:

var relative = bigobjectthing.uncle.preferredinputstream.nthrelative(5); return relative == x || relative == y || relative == z; 

or if want fancy larger set of things:

var relatives = new hashset<thing>(new[] { x, y, z }); return relatives.contains(bigobjectthing.uncle.preferredinputstream.nthrelative(5)); 

Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -