Dot Net Perls
Top 35 VB.NET Example Pages...

[")wryfy.(L((ST~~}T~~Y97FXB](CEhCES}T~~}T~~","BinarySearch List."," BinarySearch is an optimized search Function. It requires that the List instance is already sorted. It hones in on the value by dividing the number of elements being searched several times. It provides better performance on sorted Lists.","510px","360px","Example."," This example program adds three Strings to the List instance. The List is then sorted with the Sort Function. It is important to Sort here. If you use an unsorted List, BinarySearch will give negative indexes that are incorrect.","BinarySearch finds"," the correct indexes. The sorted List contains \"cat\" at position 0. It contains \"mouse\" at position 1. And it contains \"zebra\" in the final position 2. If you run BinarySearch with an unsorted List, results are invalid. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","VB.NET program that uses BinarySearch on List","\n\nModule Module1\n Sub Main()\n Dim animals As List(Of String) = New List(Of String)\n animals.Add(\"zebra\")\n animals.Add(\"mouse\")\n animals.Add(\"cat\")","\n\n ' This is required!\n ","animals.Sort()\n\n Dim zebraPosition As Integer = animals.","BinarySearch","(\"zebra\")\n Dim catPosition As Integer = animals.","BinarySearch","(\"cat\")\n\n Console.WriteLine(zebraPosition)\n Console.WriteLine(catPosition)\n End Sub\n\nEnd Module\n\n","Output","\n\n2\n0","Performance."," As I have progressed with programming, I have realized that methods like BinarySearch are not that useful. Instead, hashtables such as Dictionary are the best for fast lookups. In my programs, I usually just use Dictionary for all lookups. ","Dictionary ","dictionary-vbnet","BinarySearch is faster"," than IndexOf on large sorted Lists. This is true except when the element you are searching for comes near the start. IndexOf is then faster because it is simpler.","The C# version"," of this article found that BinarySearch becomes much faster than linear loops after around 100 elements are searched. Again, this performance is pathetic when compared to Dictionary. ","And: ","The IndexOf method is always faster when your searched-for element is at the start.","BinarySearch ","binarysearch","Summary."," This article looked at the BinarySearch method on the List type. There is a narrow use case for BinarySearch. If performance is critical, a hashed lookup is superior. If elements are not sorted, IndexOf is required. ","However: ","On sorted Lists where performance is not critical but merely nice to have, BinarySearch has its place.","List ","list-vbnet","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEXZ7/////+VlZX29vYl5th1AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)"]

["A","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABJCAMAAABPapnRAAAAMFBMVEX////9amn+z879o6Lx//rj//T/MTH95OP/9PT8ubj/AADj0cTR/+3b6drx9O/W9ORYTpHNAAAEfklEQVR4XtWa23KzOgyF0cFHkvT933Y3wa4QQYPr/RPqdUenhnwjLUUSmYYRs6tinqaQiACAvoVhIAp3q3KOHwmyFsQhMITi5pgf5PNWfoho3ETMHARDBGNxOGZOeU+kAqgOMLyFD4jC3+TIuAZRAWT2u+iewkUcjr8vJa+Alg+PSAQ52iCPbIniBT53yyVUjHDALiCYTflwFQcpSyiZFqH8F0g0R/TCcQjinOOV16HKX0HiKocKCDTB18sC/yVOCwk+XberZ/Vnwt+AxGIHd1vfLIDUuw+IdUBQAtJxSNstVhL6oNVZZ1bqSUcqkSqhkkLuPwhSL4ttYzu9HEKpZpowf84iTmc7TD1ej9IjsMq5HKTDdq5Uu+fTEgG8qh2lWAF4Ub0MiPM832/O8XL9OuLLiSOL0K9AgiSQAYI7cwJv5gTAdbSdThFauqdJnaF4nO19XrdB3hs69HkrCG8pwuwrCDMjGF2Dne19XhcQjZjf5p0AeUc+bUCYudzb7fYPEA+yferyugnij8MhoZN7O2YuaTszP4RDRKd43W4TCkd9VFJjCxHIdeQfEHeTdhT5sR/DeIrXBUTHitSYIBwwF+ZINURUQJ4cTkCkkgPGZ7mrIU1lU+LcnVYq1EAbpQ6vC2K+qz9XDj+r707d5jxju/JF5YC707cmSdfcIGrxup1ZBVzTwdf+V04J3eKmAgA1VYx7C/KBsMXrZvFNe2MCGN3qvC4L9ebelxAKSNqCQAtIaPG6NdnAbpTibu3TIOWvRf6+sbOA6LWBLd/mdVcDonvfec82YToGkTgJogkScoPgf/Xwu3XsfabxqjDUI8JB+4/ll9zta/4WFtWn4Eahxes3xZF8Vk7X1D5ajbLXHCFXgfHYg2y3ZaeEcEiZz/BlPJ61oZLEbw2I0laZg5M9sTbOxsyq2ixCTFTQhGP7hBzZ6c9bj/iwCaz0Im7RDwi8FHrHXL2bOzIZPKw0lAobkMTRSQDVZOa7utj2veTBFypJAXDrFbGHH3njAOtlYersYv/Jbo5CiZ6E76DKp7cSAMcB6e/hNQjYGPptxWE7BGGzLZTqSyfM6y17eA8pKmjVDpmLe3swizZDfw+vsz5ssl5eN7aDeCDsWHueM68frYgdiwlpLcTYuWU7a15vX8eG9i3bwYET5vWmJ6h1XfsB/8ndXBdIf96et5vrAGl37RVe7wexvY7Xet12YejYqF/odfu/U6NrJx3uxlPhBK8b8YMO117rdVmr6OkpjeR14RaSKFv0Tte2nwr/lt7pgY9WrzbYKQikYLn2Qq+L9JYqeOl25zsv5sTy3gqNbvyDXu/9vY4WfsLr/fTtIwn2e91umPvp+0nwb3pdxBoFwQL5q163UchvIYBSOMHrZ/8Q97XMInhKZkRLnV4fTLbXB5M9HI8lu/kbTHYdHU66vY5+zMyyB57BZM87Y8j+oe+YAZF+geWt10gOcYvqUpleAul6aCxfGO/XB+CwRrUBODrmG4/TmCDTBGsMiqM1V1J1vVDgNJSYy0yzCJGIEH8H8R86J7+C+8H8WAAAAABJRU5ErkJggg==)","url(data:image/jpeg;base64,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)","A","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAAAyCAMAAACAnCV7AAAAGFBMVEX///++vr7q6uqMjIxnZ2fY2NioqKhQUFAPXtNUAAADzUlEQVR4XsXa23KEMAwDUN8S/v+P++QJaKBCu7T4MYU2cxxUL7M2Nyw3qIALwszMt9NK9zBSh5uHnVcef23fx8phy7zyCQKscoFgOxeDfdVdgiETTDM/IJQPwzpcU93l4bQZ1zW8mqCumJZT+rqPELQgLNOtjoKWXB7MebggsiF717WOF6tIemnUyZmKvLit9p7tgQfP8Y4+hVHQkYuzO7GZe4LWvG2wjuJVzbOfjguC7MX2SEaQeyenBIlCSIA55pygazxC4O3VBM4I/OBUZDPW7aIEVs3JCdjz5wpBNGY3whjBOBBMcia9d8oJHHvLCeoXAucEyz52BEkJ7LAwSOuywTiBFaxygi2fIJhb7VvqnCBXo+iTEOtnnAAimxK0l06ANrnHM04wDyfb0RavbWJOMAWC2Qb+PYHtIL05kADQ6qQnhoUBywlcIFiDcHxJgHjOCcyOUEm6UfYnBFEdifEkQbjdIfDBN754pkowbxGsSEiVgBUnwKrLAxmwzrJA+KfYYm32DgEfDSagE4IURqMm6/29Q8BHg9r1lBMELFICiMQXCMhoAGHICSZIcgLDSNQJEqgkAh5judPjBNGQAgFGok5QzxDE+ZMQuzVOEIUCnAAjUScYYC4R8NFgrp1xAu8DrRBgJOoE8xsCPhpU5xQlcKAWCCASRYIojYAHIrgAChBgpZupBBiJnADrMYLZVBiGhAARQiLASHyHAJMGw5ARYGUIBOiZ7xDgkIy7oFmAr5BdIcBIfC8LcDRoFOMEaym7lwIBRuIQCSwVAnE0GA0iTYdowAkwEkUClwj4aIBvYodEsAxcJog2SJEgBALxSYjFzQmwmaUQYCT++4CM2y/II43AO9YUAozE//mYxEeDag2JoI9BSgQYiS98WAbjBneBABKlNAKMxLcIegvRLQmBAANRI8BIfIEAuTAMOQGGQWgEGIlvEcRCdpg7ZQItCxBw85cIOpCChuHzDwJGYsoEPgiB4jUxDPU4TJUAI3FTCXxzTiCMBgmZLhPMTwmiPiQoiYCPBt1fmSDg045MYEMm6FYPjYD//fiIwPUBGcs/IiiFgD8JLa0TRKG4TmApEjROPEPg5E2M/hWLmEBCCSx1guQEU3ixCSeZEDCBwiVOECURtI1JBLQDrhOYVwuQNwiMwIZKkE8SOIkz/CKowxd1UTvPVpMpOxCQb5/GL3sOr+7CEAKRiLlvl5VhvxMML/LKHZH4H+220Z1Ovz0aBInMq/K4GpjH+c3XBkDgG6u8tdO8ORqk6QTTQRjiUCSIeo/Ahj1R+E9RrrC/rx+b5Vw/IzNKKQAAAABJRU5ErkJggg==)"]