Contains C# with Example



Contains C# with Example

MSDN: 
Determines whether a sequence contains a specified element by using a specified IEqualityComparer 
List numbers = new List { 1, 2, 3, 4, 5 }; 
var result1 = numbers.Contains(4); // true 
var result2 = numbers.Contains(8); // false 
List secondNumberCollection = new List { 4, 5, 6, 7 }; 
// Note that can use the Intersect method in this case 
var result3 = secondNumberCollection.Where(item => numbers.Contains(item)); // will be true only 
for 4,5 
Using a user defined object: 
 

public class Person 
{ 
public string Name { get; set; } 
} 
List objects = new List 
{ 
new Person { Name = "Nikki"}, 
new Person { Name = "Gilad"}, 
new Person { Name = "Phil"}, 
new Person { Name = "John"} 
}; 
//Using the Person's Equals method - override Equals() and GetHashCode() - otherwise it 
//will compare by reference and result will be false 
var result4 = objects.Contains(new Person { Name = "Phil" }); // true 
Using the Enumerable.Contains(value, comparer) overload: 
public class Compare : IEqualityComparer 
{ 
public bool Equals(Person x, Person y) 
{ 
return x.Name == y.Name; 
} 
public int GetHashCode(Person codeh) 
{ 
return codeh.Name.GetHashCode(); 
} 
} 
var result5 = objects.Contains(new Person { Name = "Phil" }, new Compare()); // true 
A smart usage of Contains would be to replace multiple if clauses to a Contains call. 
So instead of doing this: 
if(status == 1 || status == 3 || status == 4) 
{ 
//Do some business operation 
} 
else 
{ 
//Do something else 
} 
Do this: 
if(new int[] {1, 3, 4 }.Contains(status) 
{ 
//Do some business operaion 
} 
else 
{ 
//Do something else 
} 
 

0 Comment's

Comment Form