List of tuples to list of first elements in that list of tuple C#











up vote
0
down vote

favorite












In Dictionary I can get a list of its Key/Values like in the below code:



    Dictionary<string, string> dictionary = new Dictionary<string, string>();
List<string> list_of_first_elements = new List<string>();
list_of_first_elements = new List<string> (dictionary.Keys);


Is there an attribute/method can do same with List<Tuple> without looping over the list and add its first/second elements? Something like that:



        List<Tuple<string, string>> list_of_tuples = new List<Tuple<string, string>>();
list_of_first_elements = """SomeCode""";









share|improve this question


















  • 4




    Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
    – Klaus Gütter
    Nov 10 at 15:17






  • 2




    There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
    – 2kay
    Nov 10 at 15:20












  • Thank you guys!
    – Ahmed Salah
    Nov 10 at 15:26






  • 1




    In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
    – 2kay
    Nov 10 at 15:27

















up vote
0
down vote

favorite












In Dictionary I can get a list of its Key/Values like in the below code:



    Dictionary<string, string> dictionary = new Dictionary<string, string>();
List<string> list_of_first_elements = new List<string>();
list_of_first_elements = new List<string> (dictionary.Keys);


Is there an attribute/method can do same with List<Tuple> without looping over the list and add its first/second elements? Something like that:



        List<Tuple<string, string>> list_of_tuples = new List<Tuple<string, string>>();
list_of_first_elements = """SomeCode""";









share|improve this question


















  • 4




    Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
    – Klaus Gütter
    Nov 10 at 15:17






  • 2




    There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
    – 2kay
    Nov 10 at 15:20












  • Thank you guys!
    – Ahmed Salah
    Nov 10 at 15:26






  • 1




    In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
    – 2kay
    Nov 10 at 15:27















up vote
0
down vote

favorite









up vote
0
down vote

favorite











In Dictionary I can get a list of its Key/Values like in the below code:



    Dictionary<string, string> dictionary = new Dictionary<string, string>();
List<string> list_of_first_elements = new List<string>();
list_of_first_elements = new List<string> (dictionary.Keys);


Is there an attribute/method can do same with List<Tuple> without looping over the list and add its first/second elements? Something like that:



        List<Tuple<string, string>> list_of_tuples = new List<Tuple<string, string>>();
list_of_first_elements = """SomeCode""";









share|improve this question













In Dictionary I can get a list of its Key/Values like in the below code:



    Dictionary<string, string> dictionary = new Dictionary<string, string>();
List<string> list_of_first_elements = new List<string>();
list_of_first_elements = new List<string> (dictionary.Keys);


Is there an attribute/method can do same with List<Tuple> without looping over the list and add its first/second elements? Something like that:



        List<Tuple<string, string>> list_of_tuples = new List<Tuple<string, string>>();
list_of_first_elements = """SomeCode""";






c#






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 at 15:14









Ahmed Salah

1691213




1691213








  • 4




    Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
    – Klaus Gütter
    Nov 10 at 15:17






  • 2




    There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
    – 2kay
    Nov 10 at 15:20












  • Thank you guys!
    – Ahmed Salah
    Nov 10 at 15:26






  • 1




    In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
    – 2kay
    Nov 10 at 15:27
















  • 4




    Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
    – Klaus Gütter
    Nov 10 at 15:17






  • 2




    There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
    – 2kay
    Nov 10 at 15:20












  • Thank you guys!
    – Ahmed Salah
    Nov 10 at 15:26






  • 1




    In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
    – 2kay
    Nov 10 at 15:27










4




4




Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
– Klaus Gütter
Nov 10 at 15:17




Using Linq: list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList()
– Klaus Gütter
Nov 10 at 15:17




2




2




There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
– 2kay
Nov 10 at 15:20






There's no such method. You can use LINQ, but it will still enumerate all elements, which is essentially a loop.
– 2kay
Nov 10 at 15:20














Thank you guys!
– Ahmed Salah
Nov 10 at 15:26




Thank you guys!
– Ahmed Salah
Nov 10 at 15:26




1




1




In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
– 2kay
Nov 10 at 15:27






In terms of performance it will be nearly the same. So I prefer LINQ as it seems more clear.
– 2kay
Nov 10 at 15:27














1 Answer
1






active

oldest

votes

















up vote
1
down vote



accepted










As @KlausGütter and @2kay mentioned I used LINQ to do that and its performance is nearly to looping over the List but it's certainly more clear, and here is the code:



list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240305%2flist-of-tuples-to-list-of-first-elements-in-that-list-of-tuple-c-sharp%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote



    accepted










    As @KlausGütter and @2kay mentioned I used LINQ to do that and its performance is nearly to looping over the List but it's certainly more clear, and here is the code:



    list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();





    share|improve this answer

























      up vote
      1
      down vote



      accepted










      As @KlausGütter and @2kay mentioned I used LINQ to do that and its performance is nearly to looping over the List but it's certainly more clear, and here is the code:



      list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();





      share|improve this answer























        up vote
        1
        down vote



        accepted







        up vote
        1
        down vote



        accepted






        As @KlausGütter and @2kay mentioned I used LINQ to do that and its performance is nearly to looping over the List but it's certainly more clear, and here is the code:



        list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();





        share|improve this answer












        As @KlausGütter and @2kay mentioned I used LINQ to do that and its performance is nearly to looping over the List but it's certainly more clear, and here is the code:



        list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 10 at 15:46









        Ahmed Salah

        1691213




        1691213






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240305%2flist-of-tuples-to-list-of-first-elements-in-that-list-of-tuple-c-sharp%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma