Vous pourriez utilisez la fonction Any si vous utilisez les extensions de méthode LINQ (.net 3.5). comme ceci:
var foobar = "foobar";
new[] {"foo", "bar"}.Any(foobar.Contains);
mais si vous dissasemble Tout ce que vous verrez est juste une boucle de toute façon.
bo public static
public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
if (predicate == null)
{
throw Error.ArgumentNull("predicate");
}
foreach (TSource local in source)
{
if (predicate(local))
{
return true;
}
}
return false;
}
Donc, si vous ne voulez pas utiliser la fonction NET 3.5 ci-dessus en .Net 2.0 ressemblerait à ceci:
public static class Utilities
{
public delegate bool AnyPredicate<T>(T arg);
public static bool Any<TSource>(IEnumerable<TSource> source, AnyPredicate<TSource> predicate)
{
if (source == null)
{
throw new ArgumentException("source");
}
if (predicate == null)
{
throw new ArgumentException("predicate");
}
foreach (TSource local in source)
{
if (predicate(local))
{
return true;
}
}
return false;
}
}
utilisation
:
var foobarlist = new[]{"foo", "bar"};
var foobar = "foobar";
var containsfoobar = Utilities.Any(foobarlist, foobar.Contains);
J'espère que cela aide.
Pour que Any() fonctionne, vous devez .NET 3.5 et votre projet doit référencer System.Core.dll et inclure l'espace de noms System.Linq selon http://msdn.microsoft.com/en-us/library/ bb534972.aspx –
Pouvez-vous rendre votre question un peu plus claire? Pouvez-vous donner un exemple de ce que vous recherchez? – inspite