• 0

c# - string search - indexof too slow


Question

10 answers to this question

Recommended Posts

  • 0
  borked technique said:

Is there a fast way to search for a string in c#? or at least be able to use ststr from c? I have to go through a humongo loop and it takes forever with indexof.

Is your string made up of multiple words? Does it change much?

You could split the words out into an array, do a sort on it, and then use the BinarySearch feature of the Array object to find your word. It really depends on the string you are searching. If it doesn't change much, then cache the split and sorted string array for searching. If the string changes a lot, then it might be faster to use this approach over the loop/indexOf, but I've never done a timed comparison.

  • 0

Well I don't even want to imagine what kind of performance a 600 mb string object would have. Split it up if you can (Y)

But since you say you've created something to do it in 15 seconds, you've caught my attention; what did you do?

  • 0

I use a streamreader and streamwriter to read a line of text and write a line of text. I do a ToCharArray() on the string i am searching for and searching in before calling my search. Code below:

public void searchString(char[] sfor, char[] sin)

{

int i = 0;

int j = 0;

found = 0;

while (j < sin.Length - sfor.Length + 1)

{

if (i == sfor.Length)

{

found = 1;

break;

}

if (sfor == sin)

{

i++;

}

else

{

j++;

i = 0;

}

}

}

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • From what I understand, RAID 1 makes a copy of one disk. How does it do this? If something happened to one drive, could I take the other one out, plug it into a PC and use it like a normal disk? I have two hard drives that have the same information on - a bit of protection if one drive fails. But I've just been manually copying the data twice.
    • Microsoft SharePoint gets Modern Page Templates to speed up page creation by Paul Hill SharePoint, Microsoft’s enterprise content management solution that allows organizations to set up internal pages and share documents, has just got a big update with the new Modern Page Templates. Microsoft said that it’s going to be rolling out the feature to customers globally between early July and early August. Organization members that want to set up pages on SharePoint using the new templates can do so from multiple entry points including the Site Home (the home of a Communication or Teams site), App Bar (the persistent navigation pane on the left of SharePoint), and the New Web Part (a webpart that displays and creates news posts directly on pages). By giving colleagues multiple access points to the new templates, there’s more chance they’ll be found and used. By including plenty of swanky templates, Microsoft is making it so you can spend less time designing pages, and more time filling them with content that really matters. If you want to create a new page using the templates, just go to New > Page and select a template “From Microsoft”. If you were making a news post, you would go to New > News post then you’d be presented with the new Template Gallery where you can select a custom template created by your colleagues under “Saved on this site”. While these new templates are coming to customers globally next month, Microsoft is already busy working on new features to make templates easier to discover and make them more useful. For example, it is building tenant-wide custom templates that can be published across sites for organization-wide use, and it’s working on Copilot templates that you can use when creating pages with Copilot. Neither of these features was given a release timeline. Customers won’t need to do anything to start using Modern Page Templates as they’ll be available automatically as it rolls out worldwide across tenants. For those who want to dive deeper, Microsoft will be publishing additional documentation and guidance about this feature soon.
    • Times are changing: https://arstechnica.com/gaming...ndows-11-ars-testing-finds/
    • Unless there is “bug” that all of a sudden sends your messages to Meta. Where have I heard this before?!
    • Maybe, just maybe... and it isn't you... there are some people who like the Windows 11 UI (for whatever reason) and want a better backend.
  • Recent Achievements

    • Week One Done
      pcdoctorsnet earned a badge
      Week One Done
    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
    • One Year In
      Bert Fershner earned a badge
      One Year In
    • Reacting Well
      ChrisOdinUK earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      539
    2. 2
      ATLien_0
      205
    3. 3
      +FloatingFatMan
      168
    4. 4
      Michael Scrip
      150
    5. 5
      Som
      126
  • Tell a friend

    Love Neowin? Tell a friend!