LINQ Convertendo lista de String em Int

Com o LINQ é possível converter uma lista de strings em inteiros facilmente. Considerando o mindset funcional, definimos uma função que fará a conversão, um action que formatará e exibirá o resultado e passamos a func para um Select.

using System;
using System.Linq;
using static Functions.FunctionsDefinition;
using static System.Console;

namespace Functions
{
    public class Program
    {
        static void Main(string[] args)
        {
            // Define a string arrays
            var numbers = new[] { "4", "2", "1", "7", "8", "9", "34", "10", };

            numbers
                .Select(str2int) // For each list element apply func str2int
                .ToList() // Create a new list
                .ForEach(Print); // For each element print it
        }
    }

    /// <summary>
    /// Functions
    /// </summary>
    public static class FunctionsDefinition
    {
        /// <summary>
        /// Convert string to int
        /// </summary>
        public static Func<string, int> str2int =
            (s) =>
            {
                int i;
                int.TryParse(s, out i);

                return i;
            };

        /// <summary>
        /// Format and print an string
        /// </summary>
        public static Action<int> Print =
            (s) => WriteLine($@"{s.GetType().Name} : {s.ToString()}");
    }
}

Exercícios LINQ no Github

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s