Any more of these fundamentals you'd like to know? Just ask. Source code at: github.com/JasperKent/Equality-And-Hashcodes Don't forget to subscribe at ruclips.net/channel/UCqWQzlUDdllnLmtgfSgYTCA And if you liked it, click the 👍.
Sort of like a "stamp" or like a "MD5" hash of a file - it is a unique identifier ignoring that there might be theoretically hash collisions (which MD5 got)
Just encountered this channel in a recommendation and I haven't looked back since. I've been deep in learning C#/Dotnet for about 18 months now and you seem to have explained so simply almost every little 'hmmm?' moment I've had in the optimal level of detail! Great channel. Thank you so much for taking the time to produce this content.
I've been looking for a video like this for a while that explains why you need to coordinate Equals and GetHashCode. I'm glad I found yours because it explains it perfectly. Thank you. BTW, Amazon quizzes you about hashes until you're hashed out so this is a good primer for their technical interview.
Eh? If the x and y swapped produces the same hashcode then it could change behaviour if you're using hashsets to check if you already have something added to a list for example without using list.contains.
No, because a matching hash only give a higher probability of equality. Whenever hashes match, it should always be confirmed by an exact equality check. That said, a hashing algorithm that produces different results when the values are swapped would be better. Use HashCode.Combine.
very interesting the information you are showing... not so easy to find it so complete in other channels... but please... declare the variables with "var v = new " to unclutter the code you are showing...
Excellent tutorial! A shame C# doesn't easily allow you to use long (rather than int) hash codes by default as that's far less likely to have clashes between objects. Btw, at 23:45 you create a string and get different hash codes on successive runs. However at 11:40, the two strings you created always produced the same hash code, even on following runs. What gives? EDIT: Ah, to answer my own question, the version where the string produces a different hash code on different runs is due to it being under .NET Core instead of .NET Framework (the latter always produces the same hash code). They both work a bit differently it would seem!
@@CodingTutorialsAreGo Doing some research, it appears the reason for Microsoft's change in .NET Core is due to help security (hackers can potentially exploit the code if they know the hashing algorithm with .NET Framework).
Interesting shelf, and a picture says a lot: "CSS", "Java", "WPF" - but not on the unreadable top shelf. "Christianity", "Histories", "Jewish Antiquities" on the next one. "Alexander", "War in the East" and more next. Life is not just code. That's nice.
Any more of these fundamentals you'd like to know? Just ask.
Source code at: github.com/JasperKent/Equality-And-Hashcodes
Don't forget to subscribe at ruclips.net/channel/UCqWQzlUDdllnLmtgfSgYTCA
And if you liked it, click the 👍.
The answer i was looking for - 7:51 , thank you very much
Sort of like a "stamp" or like a "MD5" hash of a file - it is a unique identifier ignoring that there might be theoretically hash collisions (which MD5 got)
I've watched a lot of tutorials over the years and this is one of the best. Very clear, thorough and easy to follow.
Many thanks.
Just encountered this channel in a recommendation and I haven't looked back since. I've been deep in learning C#/Dotnet for about 18 months now and you seem to have explained so simply almost every little 'hmmm?' moment I've had in the optimal level of detail!
Great channel. Thank you so much for taking the time to produce this content.
Lessons like this will take my skills to the next level. Thanks mate!
Excellent! thank you very much. Love your thorough and relevant approach. covers a lot of the subject
I've been looking for a video like this for a while that explains why you need to coordinate Equals and GetHashCode. I'm glad I found yours because it explains it perfectly. Thank you. BTW, Amazon quizzes you about hashes until you're hashed out so this is a good primer for their technical interview.
Very clear and great-structured explanation of such an important concept in .NET! Thank you a lot indeed, Jasper! 👏
Wow this was very informative, clear and easy to understand. Especially good actually seeing you do it in code. Thanks!
very comprehensive explanation about the topic. Great work
Thank you very much for the tutorial. You made everything crystal clear!
such a good explanation about hashcodes, thanks!
i am lucky to found your channel! thanks for hard working.
Well explained. I'm impressed.
Thanks for that man, helped a lot.
Great explaination, thanks sir.
Awesome explanation!!! Loved it.
What an explanation.
That was very helpful, thank you!
Thanks, that was very clear!
Wow ! well done sir
this is how you would know if someone is really an expert
also when someone looks like a professor and has books about Lenin (lower left corner)
Eh? If the x and y swapped produces the same hashcode then it could change behaviour if you're using hashsets to check if you already have something added to a list for example without using list.contains.
No, because a matching hash only give a higher probability of equality. Whenever hashes match, it should always be confirmed by an exact equality check. That said, a hashing algorithm that produces different results when the values are swapped would be better. Use HashCode.Combine.
very interesting the information you are showing...
not so easy to find it so complete in other channels...
but please... declare the variables with "var v = new " to unclutter the code you are showing...
Excellent tutorial! A shame C# doesn't easily allow you to use long (rather than int) hash codes by default as that's far less likely to have clashes between objects. Btw, at 23:45 you create a string and get different hash codes on successive runs. However at 11:40, the two strings you created always produced the same hash code, even on following runs. What gives?
EDIT: Ah, to answer my own question, the version where the string produces a different hash code on different runs is due to it being under .NET Core instead of .NET Framework (the latter always produces the same hash code). They both work a bit differently it would seem!
Exactly the answer I would have given :)
@@CodingTutorialsAreGo Doing some research, it appears the reason for Microsoft's change in .NET Core is due to help security (hackers can potentially exploit the code if they know the hashing algorithm with .NET Framework).
Thank you so much
I just want to thank you for your content :) you are amazing :)
Cheers!
My Hero
Interesting shelf, and a picture says a lot:
"CSS", "Java", "WPF" - but not on the unreadable top shelf.
"Christianity", "Histories", "Jewish Antiquities" on the next one.
"Alexander", "War in the East" and more next.
Life is not just code. That's nice.
Top shelf is my own novels.
You are awesome
wow ♥