Click here to Skip to main content
Click here to Skip to main content

Trick when using Array.Contains()

By , 13 Jun 2011
 

The Array class already contains this capability with no casting required. The IndexOf method is a static one that returns the index of the value and a -1 if it doesn't exist.

Here is an example:

exists = Array.IndexOf(arr, "item") >= 0

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Ctznkane
United States United States
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralSimpler and nice one. If we do not want exact matching and i...memberMohammad A Rahman27 Jun '11 - 18:48 
Simpler and nice one. If we do not want exact matching and ignore case, then probably could use something like
string[] newArray = new string[]{ "A", "B", "C" };
bool result = newArray.Contains("a", StringComparer.OrdinalIgnoreCase); or if we consider the case then,
bool result = newArray.Contains("A");
GeneralReason for my vote of 1 Could be problem when finding word i...groupsachin10d20 Jun '11 - 21:56 
Reason for my vote of 1
Could be problem when finding word in string
GeneralRe: You are incorrect. Try this: string[] arr = new[] {"item4", ...memberJV999920 Jun '11 - 22:23 
You are incorrect. Try this:
string[] arr = new[] {"item4", "test", "item 3", "item", "beer"};
 
int index = Array.IndexOf(arr, "item");
bool exists = Array.IndexOf(arr, "item") >= 0;
 
The returned index will always be 3 and if you remove "item", the index will be -1.
 
Voted 5 for this solution. Very elegant, I wouldn't have thought of that method Smile | :)
GeneralReason for my vote of 5 This alternative is even nicer. Than...memberw.a.g.i20 Jun '11 - 20:02 
Reason for my vote of 5
This alternative is even nicer. Thanks!
GeneralReason for my vote of 5 Simpler and just as clear.memberBen Robbins20 Jun '11 - 14:52 
Reason for my vote of 5
Simpler and just as clear.
GeneralArray.IndexOf(arr, "item") >= 0 This will return the exact m...memberKiran Sonawane13 Jun '11 - 4:00 
Array.IndexOf(arr, "item") >= 0 This will return the exact match

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130523.1 | Last Updated 13 Jun 2011
Article Copyright 2011 by Ctznkane
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid