Crear una función en línea en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Cree funciones en línea con expresiones Lambda en C#
  2. Cree funciones en línea con declaraciones Lambda en C#
  3. Crear funciones en línea con funciones locales en C#
Crear una función en línea en C#

En este tutorial, discutiremos métodos para crear una función en línea en C#.

Cree funciones en línea con expresiones Lambda en C#

En lenguajes de programación como C y C++, una función en línea se declara con la palabra clave inline. El código dentro de una función en línea es sustituido por la llamada a la función por la compilación. Por lo tanto, hacer el código en línea. Desafortunadamente, no hay una palabra clave incorporada para declarar una función en línea en C#. Podemos crear una función en línea con expresiones lambda en C#. Las expresiones Lambda se utilizan para crear funciones anónimas en C#. La => palabra clave se utiliza para escribir expresiones lambda.

El siguiente ejemplo de código nos muestra cómo crear una función en línea con expresiones lambda en 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));
    }
  }
}

Producción :

3

Creamos una función en línea que devuelve la suma de 1 y 2 con expresiones lambda en C#. Creamos la función add que devuelve la suma de dos variables enteras usando la palabra clave =>. El Func<int, int, int> especifica los tipos de datos de los parámetros, y el último int en el Func<int, int, int> especifica el tipo de retorno de la función anónima. También podemos usar Action<T1, T2> palabra clave para especificar funciones anónimas si no queremos devolver nada. El siguiente ejemplo de código nos muestra cómo podemos usar la palabra clave Action<T1, T2> para crear una función en línea que no devuelve ningún valor en 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);
    }
  }
}

Producción :

11

Creamos una función en línea que devuelve la suma de 5 y 6 con expresiones lambda en C#. Creamos la función sum() que devuelve la suma de dos variables enteras usando la palabra clave =>. La Action<int, int> especifica los tipos de datos de los parámetros de la función anónima. Podemos usar expresiones lambda solo para una sola línea de código.

Cree funciones en línea con declaraciones Lambda en C#

Si tenemos más de una línea de código en nuestro código, tenemos que usar declaraciones lambda. Las declaraciones Lambda también se utilizan para declarar funciones anónimas que se pueden utilizar como funciones en línea. La declaración de funciones anónimas en declaraciones lambda es similar a las expresiones lambda, con la única diferencia de que las declaraciones de varias líneas están encerradas entre {};. El siguiente ejemplo de código nos muestra cómo crear una función en línea con declaraciones lambda en 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);
    }
  }
}

Producción :

13

Creamos una función en línea que muestra la suma de 6 y 7 con declaraciones lambda en C#. Podemos escribir varias líneas de código dentro de la función sum(). Al igual que las expresiones lambda, existen dos tipos de declaraciones lambda, la Func<T,T-return>, que devuelve un valor, y la Action<T>, que no devuelve un valor.

Crear funciones en línea con funciones locales en C#

Funciones locales son ​​las funciones contenidas dentro de otra función en C#. Solo se puede acceder a una función local mediante la función que la incluye. Las funciones locales están disponibles en las versiones 7.0 y superiores de C#. Las funciones locales se pueden usar para proporcionar la funcionalidad de funciones en línea en C#. El siguiente ejemplo de código nos muestra cómo crear una función en línea con funciones locales en 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);
    }
  }
}

Producción :

18

Creamos una función en línea que devuelve la suma de 7 y 11 con funciones locales en C#. Declarar una función local es lo mismo que declarar una función convencional normal. Simplemente se declara sin un especificador de acceso y dentro de otra función.

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

Artículo relacionado - Csharp Function