कहें कि मैं यह जांचना चाहता हूं कि संग्रह में कम से कम एन तत्व हैं या नहीं।LINQ गणना() तक, यह और अधिक कुशल है?
क्या यह करने से बेहतर है?
Count() >= N
का उपयोग करना:
public static bool AtLeast<T>(this IEnumerable<T> enumerable, int max)
{
int count = 0;
return enumerable.Any(item => ++count >= max);
}
या यहां तक कि
public static bool Equals<T>(this IEnumerable<T> enumerable, int amount)
{
return enumerable.Take(amount).Count() == amount;
}
कैसे कर सकता था मैं बेंचमार्क है?
/// <summary>
/// Returns whether the enumerable has at least the provided amount of elements.
/// </summary>
public static bool HasAtLeast<T>(this IEnumerable<T> enumerable, int amount)
{
return enumerable.Take(amount).Count() == amount;
}
/// <summary>
/// Returns whether the enumerable has at most the provided amount of elements.
/// </summary>
public static bool HasAtMost<T>(this IEnumerable<T> enumerable, int amount)
{
return enumerable.Take(amount + 1).Count() <= amount;
}
_How मैं बेंचमार्क सकता है इस _ - कोड आप सामान्य रूप से उन्हें समय के साथ एक पाश में आह्वान करने के लिए प्रयोग करेंगे रखो ..? –
दूसरा विकल्प: गणनीय। चयन करें ((ओ, idx) => idx)। कोई (i => i> = max); – KristoferA