I implemented a PagedModel class to wrap around IEnumerable to provide paging data for grids in my MVC app.I used Resharper's auto-generated Equality code telling it to check the data, total rows, page number, and page size fields.[code]I found the call to Equals(other._ModelData, _ModelData) peculiar, as AFAIK, this checks that it is the same object rather than that the contained items are the same. Because my tests were failing anyways, I went ahead and changed it to other._ModelData.Equals(_ModelData) with no success. Then I reflected into it at debug time and found that other._ ModelData.GetType().GetMethod("Equals",{GetType(Object)}).DeclaringType was Object! Obviously, that would result in the failed comparison.I came up with a solution to create a EnumerableEquals method which compares every item in the two enumerables to confirm the are the same, but it seems sloppy. Is there anything I can do to use the normal .Equals method? [code]
I've seen the operator Max used two different ways. The following two queries produce the same results. The MSIL code is slightly different. What is the benefit of using the Aggregate operator? Logically, is there a difference?
I am comapring 2 contract IDs, one is sent by the caller, the other is in a file and read into a variable. I use a string.Equals method to compare the contract IDs. The contract IDs compare successfully if the number in a contract ID is more than 1 away from the the other for example:
CTSRG0006 & CTSRG0005 = false
However
CTSRG0006 & CTSRG0007 = true
the code I am using for the comparison:
If fileContractID.Equals(calledContractID) Then isFileValid = True End If
I'm making a sort of VB.NET calculator that has all of the advanced features. I would also like it to have programming-style tips so that I won't have to build in things like ABS and EQUALS.
For example, ABS is sqrt(x ^ 2) and EQUALS is NOT(OZ(x-y)). NOT is 1 - OZ(x). (x and y are the variables.)
I've come up with a few, but many rely on OZ(). OZ stands for 1/0. I need a formula that will return 1 if the value is <> 0, but 0 if it is equal to 0. I've worked on this for days but I can't come up with anything. Does anyone know how to do this?
I have three classes which implement an Interface iComparesWith, and I wish there to be a single function such that each iComparesWith object of any of the three implementing classes should be able to compare itself with any other iComparesWith object, again, of any of the three implementing classes, and know if the two objects are equal. How can I code this so that the comparison code is only written once? Is it the case that I will have to create a top-level MustInherit class which implements the equality comparison, and have MustOverride methods for all of the methods of iComparesWith?
Is it the best override for Equals (in VB.NET) for an object having an unique ID? [code]I took that example from the MSDN, but not entirely sure if from all points of view (including performance) is the better solution.[code]
I stumbled upon an article regarding the Birthday Paradox and it's implications when overriding the GetHashCode method, I find myself in a bind.In tests, we found that in calls to the ToLookup() Extension, only GetHashcode is used, despite providing the implementation for Equals.
I think I understand why this happens, the internal working of ToLookup, HashSet, Dictionary, etc, use the HashCodes to store and/or index their elements?Is there a way to somehow provide the functionality so that the equality comparison is actual performed using the equals method? Or should I not be concerned with the collisions? I haven't done the maths myself, but according to the first article I linked, you would only need 77,163 elements in a list before reaching a 50% chance of collision.
If I understand this correctly, an Equals() override that compares property by property such as
should have a zero chance of collision? So how can I get my ToLookup() to equality compare this way?
In case you need an example of what I mean:
[Code]...
I can get that to work with an override of GetHashcode(), no problems. But I don't want to use GetHashcode because if I have, for example, 109,125 elements in my list, apparently I'm already at 75% chance of collision? If it used aforementioned Equals() override, I think I'd be at 0%?
Well I thought this was going to be easy, then the problem showed up.So I have a structure defined, as follows:
Structure Testing Dim i as short Dim j() as short
[code]....
And I need to do the same with all of the T2 array members.Now I get into writing the real code. Something like this:
For i = 1 to 100 Populate portions of T1 'not all values of T1 are used for each value of i T2(i) = T1 Reset T1 to zero values and empty strings Next i
So what is going wrong? After I set my T1 components back to zero, my T2(i).j has had all its 1-10 index values set to zero. Note that it is just the array, not the string s or the non-array i.Sure, I could write some code where I set T2(i).i = T1.i, and so on for each variable in the structure. But I have a feeling that is not the right way. There is some kind of equivalence going on between T2(i) and T1 in each loop. And I would would like to understand that more so I know how to really deal with it.
I just ran into what I consider a very strange issue in the execution of some code that I thought I had completely well-understood.
Basically, I was using this kind of notation:
If strOne.equals(strTwo) Then
rather than
If strOne = strTwo Then
I came from a c and java background, and using the '=' operator for comparison has always made me cringe, so I've used the .equals() comparison function thinking that it was equivalent. But just now some of my code broke. It encountered a string containing "Eagle's Nest: Dawn Patrol", used the .equals() to compare it to "Eagle's Nest: Dawn Patrol" and declared them not equal. I changed the code to use '=' rather than '.equals()' and it declared them equal. I also did this:
If strOne.Replace("'", "").Equals(strTwo.Replace("'", "")) Then
And again, it declared them equal.
This has me a little rattled because my code is filled with the use of .equals(), and I've used it assuming that it was no different than writing strOne = strTwo. I've scanned the interweb looking for information about this. I have not found any information about odd interactions between the apostrophe (or other) character(s) and .equals(). Microsoft's documentation does not hint at any subtle differences. how .equals() differs from '='
I am trying to filter a dataset by adding together numbers within a specified field (say field1) within the dataset until i reach a specified number.
The filtered dataset should either be precisley equal to the number or most likley less than. In short if a row exceeds the number it should revert to the previous record.
I have no probs with general filtering and using data adapters to access the data. But im struggerling with the loop side of things.
[code]Where I add my parameter, I am trying to have it pull records that contain the text that is in the jpDescTextBox instead of being exactly equal to it. I have tried using wildcards such as * and %.
I've got the hang of using dates now, but I haven't learned how to test multiple results of a query. I can return a value from a query, but I'm unsure how to return many without putting them into a data grid view or an object on the form. (In Visual Basic)I have to check when a particular investment needs to be bought or sold, there will be more than one in almost every case. I've got the function to find out the interval between the months, checking if the asset is bought or sold in month x, but I'm unsure how to test it against multiple assets at once - nor do I know the best way to do so.
Several of my overriden Equals methods have started throwing Invalid Cast Exceptions -
Unable to cast object of type 'System.DBNull' to type Common.ResolveUser'.
This occurs when binding List (of T) (where T is of type ResolveUser in this case) to a combo.
Equals Method:
Public Overrides Function Equals(ByVal obj As Object) As Boolean Dim i As ResolveUser = CType(obj, ResolveUser) If i.UniqueResolveID = UniqueResolveID Then Return True
I am trying to build a program that calculates the minutes worked times pay rate equals amount of weekly pay this is what I got but it doesn't calculate
I want to be able to see if the values a user inputs into 2 textboxs equals the values assigned to a picture. I put these values in the picture's name and tag. Also the picturebox is getting the image from a random function correlating to an imagelist. How would i go about thisI thought of maybe using a checkbox and coding
If picturebox1.image.tag = ("12") _ and textbox1.text = 1 _ and textbox2.text = 2 Then checkbox1.checked = true
unfortunatly when i debug it says the picturebox1.image.tag = Nothing
I have a listbox on my xaml form that I bound to a List(Of MyType) property. I populated this list like so:
Dim fields As List(Of CheckableFields) = New List(Of CheckableFields) Using context As ITIPEntities = New ITIPEntities() Try[code]....
Now I'm at the point where the user selects the fields they want included in a report and I need to iterate over the required fields. This is my linq query:
For Each checkedField In _requiredFields If checkedField.IsChecked Then If checkedField.FieldData IsNot Nothing AndAlso checkedField.FieldData.Trim IsNot String.Empty Then[code].....
when I was a comparitive novice to the novice I am right now, I used to think that these two things were syntactic sugar for each other, ie. that using one over the other was simply a personal preference. Over time, I'm come to find that these two are not the same thing, even in a default implementation (see this and this). To further confuse the matter, each can be overriden/overloaded seperately to have completely different meanings.
[code] My problem is the CE button and I'm supposed to be able to add 1 + 2+ 3 + 4 + 5 = 15, but when I calculate it only does the 1 + 2 its supposed to reapeat last process each time you hit the equal sign.
myVariable.xyx(5, 3, 5000) 'Calling it with this 'in my class form Public Sub xyx(ByVal interestRate As Double, ByVal years As Double, ByVal loan As Double)