Como usar onde

Como usar onde
Restrições de tipo genérico em C# permitem que os desenvolvedores definam o conjunto de tipos que um parâmetro de tipo genérico pode representar. Esse recurso permite que o compilador aplique a segurança do tipo e evita erros que possam ocorrer durante o tempo de execução. Uma das restrições mais usadas é o "onde" restrição, este artigo explicará o que o "onde" A restrição está em C# e como usá -la em seu código.

Qual é a restrição "onde"

O "onde" A restrição é uma restrição de tipo genérico em C# que permite aos desenvolvedores especificar o parâmetro de tipo que um tipo genérico pode representar. A restrição é especificada usando o "onde" palavra -chave seguida pelo parâmetro de tipo e pela restrição, a sintaxe para usar o "onde" A restrição é a seguinte:

Nome da classe de classe pública onde t: restrição

// Implementação de classe

Aqui o "Nome da classe" representa o nome da classe com um parâmetro de tipo genérico "T". O "onde" palavra -chave especifica a restrição para o parâmetro de tipo e o "limitação" é o tipo que o parâmetro de tipo deve representar.

Vamos dar um exemplo de classe genérica que aceita um parâmetro de tipo e retorna o valor mínimo de uma matriz de valores. Aqui o código usa o "onde" restrição para especificar que o parâmetro de tipo deve ser um tipo numérico:

usando o sistema;
Minvalue de classe pública onde t: struct, icomparable, iconvertible

public T getminValue (T [] Array)

if (array == null || array.Comprimento == 0)
lançar uma nova argumentação ("a matriz não pode ser nula ou vazia");

T min = matriz [0];
para (int i = 1; i < array.Length; i++)
se (Array [i].Compareto (min) < 0)
min = matriz [i];


retornar min;


Programa de classe pública

public static void main ()

int [] intarray = 1, 2, 3, 4, 5;
Minvalue intminValue = novo minvalue();
int intmin = intminValue.GetminValue (Intarray);
Console.WriteLine ("Valor mínimo de Intarray: 0", intmin);
duplo [] DoubleArray = 1.1, 2.2, 3.3, 4.4, 5.5;
Minvalue DoublemInValue = novo minvalue();
dupla dupla.GetminValue (DoubleArray);
Console.WriteLine ("Valor mínimo de DoubleArray: 0", Doublemin);

Aqui, definimos uma classe genérica “MinValue” que aceita um parâmetro de tipo "T" e retorna o valor mínimo de uma matriz de valores. Em seguida, usamos o "onde" restrição para especificar que o parâmetro de tipo deve ser uma estrutura, implementar a interface ICOMPARABLE e implementar a interface Iconvertible. Essa restrição garante que apenas os tipos numéricos sejam permitidos como parâmetros de tipo.

Conclusão

O "onde" A restrição em C# é um recurso poderoso que permite aos desenvolvedores aplicar a segurança do tipo e impedir erros durante o tempo de execução. Ao usar essa restrição, você pode especificar o conjunto de tipos que um parâmetro de tipo genérico pode representar. Este artigo forneceu uma visão geral do "onde" restrição em C# e demonstrou como usá -lo com um código.