Sobes.tech
Junior — Middle

C# тилинде Func жана Predicate делегаттарынын айырмасы эмнеде?

sobes.tech AI

AIден жооп

C# тилинде, Func жана Predicate делегаттары методторду көрсөтүү үчүн колдонулат, бирок алардын максаты жана колтамгасы ар башка:

  • Func<T, TResult> — бир же бир нече параметр кабыл алып, TResult түрүндөгү маанини кайтарат. 0дан 16га чейин параметрлерге ээ болушу мүмкүн, акыркысы дайыма кайтаруу түрү.

  • Predicate<T>T түрүндөгү бир параметр кабыл алып, bool кайтарат. Шарттарды (предикаттарды) текшерүү үчүн колдонулат.

Ошондуктан, Predicate<T> — бул Func<T, bool>тин өзгөчө учурусу. Мисалы:

Func<int, string> мисалFunc = x => x.ToString();
Predicate<int> мисалPredicate = x => x > 0;

Predicate методдор үчүн пайдалуу, анда шартты текшерип, булеан натыйжа алуу керек, мисалы, коллекцияларды фильтрлөө үчүн.