[Mono-dev] RE: [Mono-devel-list] System.Data : DataTable.Select	performance
    tsureshkumar 
    tsureshkumar at novell.com
       
    Mon Sep 19 09:56:01 EDT 2005
    
    
  
Boris Kirzner wrote:
> Hello Suresh,
> 
> 
>>@@ -193,9 +206,14 @@
>>  				return false;
>>  			}
>>-			if (_filter != filter)
>>-				return false;
>>+			if (_filter != null) {
>>+				if (!_filter.Equals (filter))
>>+					return false;
>>+			}
>>+			else if (filter != null)
>>+					return false;
>>
>>=======================================================
>>please review this conditional checking.
>>=======================================================
> 
> 
> I've reviewed it and it seems ok. Can you point to some specific problem
> in this code?
> 
> 
First thing is that this whole code above can be simplified into
if (_filter != null && !_filter.Equals (filter))
	return false;
and also, this logic is wrong. if you are looking for a non-null filter, 
an index with null filter would also match up.
So, IMO, it should be
if ( (_filter != null && !_filter.Equals (filter)) /* equals compare 
*/ 		|| (_filter != filter)) /* null compare */
	return false;
Please let me know if you have thought otherwise.
suresh.
    
    
More information about the Mono-devel-list
mailing list