Crie uma função Inline em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Crie funções embutidas com expressões Lambda em C#
  2. Crie funções embutidas com instruções Lambda em C#
  3. Crie funções embutidas com funções locais em C#
Crie uma função Inline em C#

Neste tutorial, discutiremos métodos para criar uma função embutida em C#.

Crie funções embutidas com expressões Lambda em C#

Em linguagens de programação como C e C++, uma função inline é declarada com a palavra-chave inline. O código dentro de uma função embutida é substituído pela chamada de função pela compilação. Portanto, tornando o código embutido. Infelizmente, não existe uma palavra-chave interna para declarar uma função embutida em C#. Podemos criar uma função embutida com expressões lambda em C#. Expressões lambda são usadas para criar funções anônimas em C#. A => palavra-chave é usada para escrever expressões lambda.

O exemplo de código a seguir nos mostra como criar uma função embutida com expressões lambda em C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Func<int, int, int> add = (x, y) => x + y;
      Console.WriteLine(add(1, 2));
    }
  }
}

Resultado:

3

Criamos uma função embutida que retorna a soma de 1 e 2 com expressões lambda em C#. Criamos a função add que retorna a soma de duas variáveis ​​inteiras usando a palavra-chave =>. O Func<int, int, int> especifica os tipos de dados dos parâmetros, e o último int em Func<int, int, int> especifica o tipo de retorno da função anônima. Também podemos usar Action<T1, T2> palavra-chave para especificar funções anônimas se não quisermos retornar nada. O exemplo de código a seguir nos mostra como podemos usar a palavra-chave Action<T1, T2> para criar uma função embutida que não retorna nenhum valor em C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Action<int, int> sum = (x, y) => Console.WriteLine(x + y);
      sum(5, 6);
    }
  }
}

Resultado:

11

Criamos uma função embutida que retorna a soma de 5 e 6 com expressões lambda em C#. Criamos a função sum() que retorna a soma de duas variáveis ​​inteiras usando a palavra-chave =>. A Action<int, int> especifica os tipos de dados dos parâmetros da função anônima. Podemos usar expressões lambda apenas para uma única linha de código.

Crie funções embutidas com instruções Lambda em C#

Se tivermos mais de uma linha de código em nosso código, temos que usar instruções lambda. Declarações lambda também são usadas para declarar funções anônimas que podem ser usadas como funções embutidas. Declarar funções anônimas em instruções lambda são semelhantes às expressões lambda, com a única diferença sendo que as instruções de várias linhas são colocadas entre {};. O exemplo de código a seguir nos mostra como criar uma função embutida com instruções lambda em C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      Action<int, int> sum = (x, y) => {
        int s = x + y;
        Console.WriteLine(s);
      };
      sum(6, 7);
    }
  }
}

Resultado:

13

Criamos uma função embutida que exibe a soma de 6 e 7 com instruções lambda em C#. Podemos escrever várias linhas de código dentro da função sum(). Assim como as expressões lambda, existem dois tipos de declarações lambda, a Func<T,T-return> que retorna um valor e a Action<T>, que não retorna um valor.

Crie funções embutidas com funções locais em C#

Funções locais são as funções contidas dentro de outra função em C#. Uma função local só pode ser acessada pela função que a contém. As funções locais estão disponíveis em 7.0 e versões superiores do C#. As funções locais podem ser usadas para fornecer a funcionalidade de funções embutidas em C#. O exemplo de código a seguir nos mostra como criar uma função embutida com funções locais em C#.

using System;

namespace inline_function {
  class Program {
    static void Main(string[] args) {
      void sum(int a, int b) {
        Console.WriteLine(a + b);
      }
      sum(7, 11);
    }
  }
}

Resultado:

18

Criamos uma função embutida que retorna a soma de 7 e 11 com funções locais em C#. Declarar uma função local é o mesmo que declarar uma função convencional normal. Ele é apenas declarado sem um especificador de acesso e dentro de outra função.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp Function