Thanks Briga, dotnethead, and Steve for your replies. As suggested by briga, i ran a test program with loop of 9999999. When i run the test about many times, each time the result was different. Some times Case #1,#2,#3 all took same time, at times #1 was the fastest, at times #2 , another time #3 and at other times there was a tie b/w the cases. so could not reach a conclusion. As Steve pointed out [it was the reason i posted the question] #1 involves an implicit type conversion [integer is converted to boolean], #2 a comparison and #3 an explicit type conversion, it is difficult to say which would run faster. After much thought i too reached the conclusion that #2 is better [it atleast explains the code better] Thanks every one