ExpertiDict

C# · Avançado · Inglês · Técnico

generic math

/dʒəˈnɛrɪk mæθ/substantivo

Conjunto de interfaces numéricas, como INumber<T> e IAdditionOperators, baseado em static abstract members. Permite escrever algoritmos genéricos que usam +, * e outros operadores.

Onde usar

Aparece ao escrever uma Somar<T> que funcione para int, double e decimal sem duplicar código. Desde o .NET 7, os tipos numéricos internos já implementam essas interfaces.

Em código

using System.Numerics;
T Somar<T>(IEnumerable<T> xs)
  where T : INumber<T>
{
  var t = T.Zero;
  foreach (var x in xs) t += x;
  return t;
}

Exemplos

Generic math lets one method work for int and double.

Generic math permite um só método servir para int e double.

It relies on static abstract members.

Ele depende de membros static abstract.

Cuidado

Não restrinja além do necessário: exigir INumber<T> quando só precisa de IAdditionOperators afasta tipos válidos.

Sinônimos

matemática genérica

Veja também

Todos os termos de C#