I got one big question.
I got a linq query to put it simply looks like this:
from xx in table where xx.uid.ToString().Contains(string[]) select xx
The values of the string[] array would be numbers like (1,45,20,10,etc…)
the Default for .Contains is .Contains(string).
I need it to do this instead: .Contains(string[])…
EDIT : One user suggested writing an extension class for string[]. I would like to learn how, but any one willing to point me in the right direction?
EDIT : The uid would also be a number. That’s why it is converted to a string.
Help anyone?
spoulson has it nearly right, but you need to create a
List<string>fromstring[]first. Actually aList<int>would be better if uid is alsoint.List<T>supportsContains(). Doinguid.ToString().Contains(string[])would imply that the uid as a string contains all of the values of the array as a substring??? Even if you did write the extension method the sense of it would be wrong.[EDIT]
Unless you changed it around and wrote it for
string[]as Mitch Wheat demonstrates, then you’d just be able to skip the conversion step.[ENDEDIT]
Here is what you want, if you don’t do the extension method (unless you already have the collection of potential uids as ints — then just use
List<int>()instead). This uses the chained method syntax, which I think is cleaner, and does the conversion to int to ensure that the query can be used with more providers.