LINQ Find String Duplicates in List












0















I am trying to prevent name duplicates in a List, but with no luck so far.

I have a list of entries and each entry has a name (e.g. entries: "file", "file1", "someFile", "anotherFile"). Whenever I create new entry I add it to the entry List. But I don't want to add new entry with the same name.

I have a file that I just created (e.g. name: "file").
How do I find all name duplicates and make it something like this at the end: "file2"?

Sorry if the question is a bit vague.


I tried to use LINQ and Regex, but I'm kind of new to those things so not sure what I'm doing..










share|improve this question




















  • 1





    You need to at least show some code of what you tried... consider List<string>.Contains.

    – NetMage
    Nov 29 '18 at 0:07













  • I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

    – UnknownUser
    Nov 29 '18 at 0:11













  • Add in the question whatever you have tried to give us the clue. thanks

    – Usman
    Nov 29 '18 at 0:50
















0















I am trying to prevent name duplicates in a List, but with no luck so far.

I have a list of entries and each entry has a name (e.g. entries: "file", "file1", "someFile", "anotherFile"). Whenever I create new entry I add it to the entry List. But I don't want to add new entry with the same name.

I have a file that I just created (e.g. name: "file").
How do I find all name duplicates and make it something like this at the end: "file2"?

Sorry if the question is a bit vague.


I tried to use LINQ and Regex, but I'm kind of new to those things so not sure what I'm doing..










share|improve this question




















  • 1





    You need to at least show some code of what you tried... consider List<string>.Contains.

    – NetMage
    Nov 29 '18 at 0:07













  • I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

    – UnknownUser
    Nov 29 '18 at 0:11













  • Add in the question whatever you have tried to give us the clue. thanks

    – Usman
    Nov 29 '18 at 0:50














0












0








0








I am trying to prevent name duplicates in a List, but with no luck so far.

I have a list of entries and each entry has a name (e.g. entries: "file", "file1", "someFile", "anotherFile"). Whenever I create new entry I add it to the entry List. But I don't want to add new entry with the same name.

I have a file that I just created (e.g. name: "file").
How do I find all name duplicates and make it something like this at the end: "file2"?

Sorry if the question is a bit vague.


I tried to use LINQ and Regex, but I'm kind of new to those things so not sure what I'm doing..










share|improve this question
















I am trying to prevent name duplicates in a List, but with no luck so far.

I have a list of entries and each entry has a name (e.g. entries: "file", "file1", "someFile", "anotherFile"). Whenever I create new entry I add it to the entry List. But I don't want to add new entry with the same name.

I have a file that I just created (e.g. name: "file").
How do I find all name duplicates and make it something like this at the end: "file2"?

Sorry if the question is a bit vague.


I tried to use LINQ and Regex, but I'm kind of new to those things so not sure what I'm doing..







regex string linq filter duplicates






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 29 '18 at 0:06







UnknownUser

















asked Nov 29 '18 at 0:00









UnknownUserUnknownUser

427




427








  • 1





    You need to at least show some code of what you tried... consider List<string>.Contains.

    – NetMage
    Nov 29 '18 at 0:07













  • I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

    – UnknownUser
    Nov 29 '18 at 0:11













  • Add in the question whatever you have tried to give us the clue. thanks

    – Usman
    Nov 29 '18 at 0:50














  • 1





    You need to at least show some code of what you tried... consider List<string>.Contains.

    – NetMage
    Nov 29 '18 at 0:07













  • I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

    – UnknownUser
    Nov 29 '18 at 0:11













  • Add in the question whatever you have tried to give us the clue. thanks

    – Usman
    Nov 29 '18 at 0:50








1




1





You need to at least show some code of what you tried... consider List<string>.Contains.

– NetMage
Nov 29 '18 at 0:07







You need to at least show some code of what you tried... consider List<string>.Contains.

– NetMage
Nov 29 '18 at 0:07















I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

– UnknownUser
Nov 29 '18 at 0:11







I don't have much to show I just looked around the net about LINQ and Regex, but nothing I tried did the trick, so at the end I just have a bunch of messy and nonsensical code..

– UnknownUser
Nov 29 '18 at 0:11















Add in the question whatever you have tried to give us the clue. thanks

– Usman
Nov 29 '18 at 0:50





Add in the question whatever you have tried to give us the clue. thanks

– Usman
Nov 29 '18 at 0:50












1 Answer
1






active

oldest

votes


















0














According to what you have posted in question a simple program with if-else conditions could solve your problem:



using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;


public class Program
{
public static void Main()
{
string entries = new {"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
List<string> curatedEntries = new List<string>();

foreach(string e in entries)
{
int index = 0;
string entry = e;
Check:
if(CheckExists(curatedEntries, entry)){
index++;
entry = e + index;
goto Check;
}

curatedEntries.Add(entry);
}
curatedEntries.ForEach(x=>Console.WriteLine(x));
}

public static bool CheckExists(List<string> lst,string e)
{
return lst.Any(x=>x.Equals(e));
}
}


Here's fiddle: https://dotnetfiddle.net/fdSClH






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',
    autoActivateHeartbeat: false,
    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%2f53529943%2flinq-find-string-duplicates-in-list%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









    0














    According to what you have posted in question a simple program with if-else conditions could solve your problem:



    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;


    public class Program
    {
    public static void Main()
    {
    string entries = new {"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
    List<string> curatedEntries = new List<string>();

    foreach(string e in entries)
    {
    int index = 0;
    string entry = e;
    Check:
    if(CheckExists(curatedEntries, entry)){
    index++;
    entry = e + index;
    goto Check;
    }

    curatedEntries.Add(entry);
    }
    curatedEntries.ForEach(x=>Console.WriteLine(x));
    }

    public static bool CheckExists(List<string> lst,string e)
    {
    return lst.Any(x=>x.Equals(e));
    }
    }


    Here's fiddle: https://dotnetfiddle.net/fdSClH






    share|improve this answer




























      0














      According to what you have posted in question a simple program with if-else conditions could solve your problem:



      using System;
      using System.Collections;
      using System.Collections.Generic;
      using System.Linq;


      public class Program
      {
      public static void Main()
      {
      string entries = new {"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
      List<string> curatedEntries = new List<string>();

      foreach(string e in entries)
      {
      int index = 0;
      string entry = e;
      Check:
      if(CheckExists(curatedEntries, entry)){
      index++;
      entry = e + index;
      goto Check;
      }

      curatedEntries.Add(entry);
      }
      curatedEntries.ForEach(x=>Console.WriteLine(x));
      }

      public static bool CheckExists(List<string> lst,string e)
      {
      return lst.Any(x=>x.Equals(e));
      }
      }


      Here's fiddle: https://dotnetfiddle.net/fdSClH






      share|improve this answer


























        0












        0








        0







        According to what you have posted in question a simple program with if-else conditions could solve your problem:



        using System;
        using System.Collections;
        using System.Collections.Generic;
        using System.Linq;


        public class Program
        {
        public static void Main()
        {
        string entries = new {"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
        List<string> curatedEntries = new List<string>();

        foreach(string e in entries)
        {
        int index = 0;
        string entry = e;
        Check:
        if(CheckExists(curatedEntries, entry)){
        index++;
        entry = e + index;
        goto Check;
        }

        curatedEntries.Add(entry);
        }
        curatedEntries.ForEach(x=>Console.WriteLine(x));
        }

        public static bool CheckExists(List<string> lst,string e)
        {
        return lst.Any(x=>x.Equals(e));
        }
        }


        Here's fiddle: https://dotnetfiddle.net/fdSClH






        share|improve this answer













        According to what you have posted in question a simple program with if-else conditions could solve your problem:



        using System;
        using System.Collections;
        using System.Collections.Generic;
        using System.Linq;


        public class Program
        {
        public static void Main()
        {
        string entries = new {"file", "file1", "someFile", "anotherFile", "file", "someFile", "file"};
        List<string> curatedEntries = new List<string>();

        foreach(string e in entries)
        {
        int index = 0;
        string entry = e;
        Check:
        if(CheckExists(curatedEntries, entry)){
        index++;
        entry = e + index;
        goto Check;
        }

        curatedEntries.Add(entry);
        }
        curatedEntries.ForEach(x=>Console.WriteLine(x));
        }

        public static bool CheckExists(List<string> lst,string e)
        {
        return lst.Any(x=>x.Equals(e));
        }
        }


        Here's fiddle: https://dotnetfiddle.net/fdSClH







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 4 '18 at 6:54









        Nitin SawantNitin Sawant

        3,89463875




        3,89463875
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53529943%2flinq-find-string-duplicates-in-list%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

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)