Sorting Structure According To Value Using IComparer?
Oct 27, 2010
I am using structures in my programming and I sort the structure according to a value in the structure using IComparer. How did Microsoft implement the Array.Sort() method? Is there any documentation (references) for this? Is it the same for all types of Sort() in Visual Basic?
This is a simple example for what I want.
Dim MyArray(6) As Integer
MyArray(0) = 1
MyArray(1) = 45
MyArray(2) = 45
[Code] .....
Array.Sort() will sort this array as: (1 1 1 10 45 45 57)
How does number 1 get sorted? Is it bringing to the end the first one or keeps the old one in the same index? In my original example (before sorting), MyArray(0) = 1 and after sorting MyArray(0) = 1. Is this the same original 1 or this another 1 (the newest one added to the array) moved to that position? In case the MyArray(0) = 1 after sorting should be MyArray(5) = 1 before sorting.
View 5 Replies
ADVERTISEMENT
Feb 18, 2010
I'm using Visual Studio .Net 2008 on Vista. The goal of my program is to watch a directory, get file information, then sort them by thier date, and produce a updated text file. I can't seem to get my code to generate a list of files sorted by date. The code does produce a general list of files, however presently ordered in the directory. I also tried an alternate way of sorting the files by date by creating a string, removing the date using substring, then comparing the file dates using datetime.parse but it produces a exception error. My first method using the structure follows:
[Code]...
View 1 Replies
Mar 29, 2009
I have create a structure type array. sort the array so i can display the sorted array in a listbox. I want to be able to either sort by last name or the student with the highest score. Here's what I have so far:
Structure student
Dim firstName As String
Dim lastName As String
[Code]....
I heard about the IComparer thing but I didn't know how to implement it into my project.
View 1 Replies
Jun 3, 2010
I made an Array of Structure as given below. Now I want to sort them using different parameters.
"Array.Sort(ArratName)" or "Array.Reverse(ArrayName)" didn't work as I expected.
Structure
CheckRecord
Dim
CheckNumber As
Integer
[Code] .....
View 6 Replies
Feb 17, 2011
I'm using a Listview in VirtualMode, so I can 'add' a lot of files almost instantly. A Listview in VirtualMode does not allow sorting, so I need to sort the data myself. The data is stored as a List of Structure (it's faster to load than a List of ListViewItem). The code below works fine, but I need to sort based on multiple variables in the Structure. Code:
View 2 Replies
Jun 19, 2009
I'm trying to sort an array based on a structure but whenever I do this, it basically erases all the data in the entire array.I have verified that the array is populated correctly, it is when using array.sort that everything returns blank.
View 6 Replies
Jul 14, 2011
I'm sorting a collection of type "Document" (usually around 100k records). Sorting usually takes around 4-5 seconds, and I'm wondering if there's a way to speed up sorting by modifying my "DocumentComparer" class which implements IComparer(Of Document). Since the Compare() method would be called hundreds of thousands of times, are there any performance improvements that could be made here that I've overlooked?
[Code]...
View 2 Replies
Nov 12, 2010
I created an array sorter to sort arrays like in Win Explorer in a DNN module. As in the answer to a preview question: Sorting an array of folder names like Windows Explorer (Numerically and Alphabetically) - VB.NET
[Code]....
View 1 Replies
Jun 17, 2012
I am trying to create a class implementing the generic IComparer of my own class "Stellungen" (which translates to positions, like on a chess or checkers board).
This is what I got:
Private Class comparer(Of Stellung)
Implements System.Collections.Generic.IComparer(Of Stellung)
Public Function Compare(x As Stellung, y As Stellung) As Integer Implements System.Collections.Generic.IComparer(Of Stellung).Compare
End Function
End Class
Problem is: inside the function I have no access to any fields of my class. If I start off with x. Intellisense will only give me .Equals, .GetHashCode - the methods you get on a type but not on an instance. Visual Studio 10 also highlights this, in the definition of the function the bits "x as Stellung" and "y as Stellung" are written in light blue, meaning it is a type and not an actual object. How do I access the things I want to compare inside my class?
View 1 Replies
Jan 9, 2009
I'm trying to sort my listview using a custom icomparer. I have to sort numbers, strings, dates, and currency.
Here's the code to sort:
compareResult = ObjectCompare.Compare(listviewX.SubItems(ColumnToSort).Text, listviewY.SubItems(ColumnToSort).Text)
The problem is it sorts numbers wrong, such as:
10
2
3
instead of
2
3
10
View 3 Replies
Jun 5, 2012
I'm having trouble implementing an IComparer method. Essentially, I want to compare the properties of two custom objects (the properties are of type integer).dE is a Dictionary(Of String, customObj)prTabIndex is a property of customObj and is of type Integer (these hold true for all examples)After some more searching I found this thread which suggested 3 things: a List approach, utilizing LINQ, and using some C# 3.0 features. I've tried three different ways:...rolling my own IComparer implementation:
Public m As Sub(ByRef d As Dictionary(of String, customObj))
Dim sortedD As New SortedDictionary(Of String, customObj)(d, myCompare)
End Sub
[code]....
Note that VS2008 has underlined 'dE.ToDictionary...' (to the end of the line) and giving me two messages depending on where I hover my mouse:
1) "Data type(s) of the type parameter(s) in extension method 'signature' As 'signature defined in 'System.Linq.Enumerable cannot be inferred from these arguments. Specifying the data types explicitly might correct this error. Seen while hovering over "ToDictionary".
2) Nested function does not have the same signature as delegate 'signature'. Seen while hovering over anything after "ToDictionary".
Q1) How far off am I in each of the implementations?
Q2) Which one is the computationally least expensive? Why?
Q3) Which one is the computationally most expensive? Why?
View 1 Replies
Mar 12, 2012
I'm having my program sort an excel sheet by a few columns. However, it is only sorting by the first column not the rest that I specify.ere is my sort code below:
myRange.Sort(Key1:=myRange.Range("A:A"), Order1:=XlSortOrder.xlAscending, Key2:=myRange.Range("G:G"), Order2:=XlSortOrder.xlAscending, Header:=XlYesNoGuess.xlYes, Orientation:=XlSortOrientation.xlSortColumns)
[code]...
View 1 Replies
Aug 20, 2011
I have a WPF ObservableCollection which is bound to a ListBox and I have a Sort() method which when called will convert the ObservableCollection to a List(Of T), and undertakes a sort based on a date/time column within the collection.
The data is sorted, even when new items are added to the ObservableCollection, however the date/time isn't being correctly sorted. The data is sorting based on the date however it is very much random when it comes to the time portion. The following is an example of the outcomes I am experiencing:
[Code]...
Is there anything that I am doing incorrectly in this method that would cause the time portion not be included in the sort? Is there a better way of doing a sort?
View 1 Replies
Jan 5, 2012
Module Module1
Public Structure structure1
Public TRANS() As structure2
End Structure
Public Structure structure2
Public X() As Integer
End Structure
End Module
View 17 Replies
Jan 5, 2010
I'm new to VB 2008 after having spent a long time with VB6, so I apologize if this is a stupid question. But I'd really like to have this straightened out.
Let's say I have a pretty large structure that has lots of properties.
Code:
Now say that I want an internal database with about 10 instances of this structure total, describing, say, 10 different products that a store sells. When these values are loaded from a database, they remain totally static. (However, they can be different each time a program loads)
Now say that I have a class. Each instance of this class is a type of that BaseProduct structure. Meaning, each instance of the class pertains to one of the 10 types of products that the store sells. However, this class has additional properties that pertain specifically to each instance, which are not static.
Code:
Now, the problem here is... If I have 200 different transactions, each one contains an instance of BaseProduct. BaseProduct is HUGE, and is largely redundant (only 10 types possible), so I think it's a little silly to include a whole copy of it with EVERY transaction. However, the Transaction class really needs information regarding the base product it pertains to. Is there a way to, instead of declaring a New BaseProduct in the Transaction class, to simply make one of the properties of the Transaction class a pointer to a BaseProduct variable?
In VB6, I would accomplish this by making a BaseProduct(10) array, and then giving each Transaction an ID number referring to an entry in that array. But in VB 2008, using class structure, this is impossible. I can't define the BaseProduct(10) array outside of a class in a namespace, and if I define it in the actual application's form, then the class loses modularity since it relies on the application that's using it.
View 11 Replies
Aug 29, 2009
I am trying to communicate with an external device and i am trying to send a byte array to the external device via sockets but i am always getting a response the message size is too small so i am not sure what i have done wrong. Between the data type there should be no alignment present and all numbers are represented in little endian format. The char array is not null terminated as mentioned in the protocol specifications.
I have to send data based on a struct that embeds 2 other struct. So here's my vb.net code for the struct used to convert to byte array and the sending part.
Public Structure MESSAGETYPE_OIP_Login
Dim Header() As COMMANDHEADER
Dim UserName() As PSTRING
[Code]....
View 2 Replies
Apr 14, 2012
I'm experiencing a problem with the following c-structure:
typedef struct tagTEXTUREPROP
{
DWORD dwSize;
[Code].....
The Marshal.SizeOf obviously calculates a size of 76 and it works with the DLL function, but it leaves me with some bad feelings.
View 1 Replies
Apr 25, 2010
I'm having a problem that's driving me crazy; I can't understand how to convert the XML structure into a class structure (that I want to use to hydrate a XML document).
The XML document looks like this:
xml
<?xml version="1.0" encoding="utf-8"?>
<artists xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.spotify.com/ns/music/1">
[code]....
View 2 Replies
Feb 19, 2010
I am working on a general helper class to sort ListView SubItems. I wrote a base class that has much of the code I need. It includes a MustOverride for the Compare method so that the various inherited classes can implment their own comparisons based upon their type. For the value types, I end up with very similar code such as the following, where x and y are ListViewItems: Public Overloads Overrides Function Compare(ByVal x As Object, ByVal y As Object, ByVal sortColumnIndex As Integer, ByVal sortOrder As System.Windows.Forms.SortOrder) As Integer [code]
View 3 Replies
May 23, 2010
I want to make a structure within a structure. Basically it will appear like this:
Structure ID
dim CardType as string
im CardCode as string
[code]......
View 13 Replies
Oct 12, 2010
In Vb.net I am trying to assign an array of structure to another array of same structure[code]...
View 2 Replies
Sep 12, 2011
I have two structrures
Public Structure PhoneScheduleEntries
Dim Count As UInteger
Dim PhoneSchedule() As PhoneScheduleEntry
End Structure
View 3 Replies
Dec 30, 2009
i have a string that looks like this "apples,fish,oranges,bananas,fish" i want to be able to sort this list and get only the uniques. how do i do it in vb.net? please provide code
View 3 Replies
Apr 19, 2010
I have a dictionary in the form of: { "honda" : 4, "toyota": 7, "ford" : 3, "chevy": 10 }
I want to sort it by the second column aka (the value) descending.
Desired output:
"chevy", 10
"toyota", 7
"honda", 4
"ford", 3
View 3 Replies
Jan 23, 2012
how to sort the files in the directory ?i'll have more than 500 no of files in the below format.
prod_orders_XXX_<TimeStamp>.dat
XXX = symbol of the product and the length may varies between 3-6.
<TimeStamp> = date and time
Multiple files for the same XXX are possible with different time stamps.Here are some examples:
prod_orders_abc_20122001083000.dat
prod_orders_abc_20122001083111.dat
prod_orders_xyz_20122001093157.dat
[code]....
View 1 Replies
Mar 24, 2009
I have a the need for key value pair that I wish to sort so I decided to use a SortedList instead of a HashTable.I am adding the data in the order below to my SortedList which is the order I need it in
Key | Value
--------------------------------
1 "700-800" | List(Of Object)
2 "900-1000" | List(Of Object)
[code]....
The key is a string and the value is a List of objects. The key is representing a time slot that has been concatenated from two integer values and delimited by "-". "700" as a string was 0700 initially an integer.e.g.
Dim key As String = slotTimeStart.ToString() & "-" & slotTimeEnd.ToString()
But once these key value pairs are added to the SortedList they appear in the order
3 "1100-1200" | List(Of Object)
4 "1700-1800" | List(Of Object)
[code]....
Unfortunately I recieve the times slots as two integer values which cannot be changed.Is there any way to force a sort on a SortedList? or is this problem because of the way I am storing my key? Is there a better way to store it?
View 4 Replies
Mar 25, 2009
I have a VB.Net 2005 application in which I access a SQL Server DB to pull data into a Dataset. Within my app, this dataset is read sequentially. Then, a cross reference file is read against the dataset record. If there is a match (based on 2 fields from the dataset record), a field value from the cross reference file is used to replace a certain value in the dataset record. Once a dataset record has been read and processed...it is written to a new CSV file. This CSV file contains 5 columns.
I've been requested to now sort this new CSV file using 3 of the 5 columns as the "Sort Key". What would be the fastest way to do this?
I know one way would be to create a new dataset and insert the finished record into this new dataset in the order of the 3 fields (which I'm not sure how to setup).
View 8 Replies
Mar 9, 2011
I have an XML that looks like this:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="library.xslt"?>
<Library>
[code].....
View 5 Replies
Feb 11, 2009
How to sort a recordset using vb 6.0 coding?
View 2 Replies
Aug 10, 2009
I need to know if there is any simple way to sort an array in visual Basic.net. I have been trying for some time without any real reliable results or wierd results. Here is the code this is the sort routine which transfers a csv text file read earlier into an array.
Private Sub btnSort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSort.Click
Dim i As Integer = 2 'inner loop
Dim j As Integer 'outer loop
Dim tempstore As String = String.Empty
ProgressSort.Minimum = 0
[Code]...
The data seems to be read into the array but the sorting takes a very long time and I am not sure if it is working or not. I have read from other forums that it is easier to sort the array read from csv before splitting it. This record I am trying to sort is 250 records long. I have no idea how long that should take. Not even sure if the algorithm I chose is correct.
View 5 Replies