An Interest In:
Web News this Week
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
- April 20, 2024
Equality Array(Data Structure tips in C)
Hello guys, today I want to focus on Array, actually, I hope you know about array and in this article, I try to a bit deeper into it. so let's go
I start with a sample:
define 2 DateTime array
I have defined exactly 2 DateTime arrays like each other, just the names are different.
What do you think? are they equal to each other?
As you see, when using the == operator for 2 arrays, however, each item is exactly like the other, the result is false!
I hope you remember Value-type and Reference-type.
When I define a value-Type like DateTime, each variable is put in memory like the above picture so mydate!=yourdate.Now lets look at how Reference-Types are stored
Reference-Type means the variable doesn't actually contain the string Shayan and stores the address of memory where store the variable(xx).
However DataTime is Value-Type,DataType[] is Referencetype because ,Array is Reference-Type
Therefore when defining 2 Arrays with the same values, they are located at different addresses, and bankHols1==bankHols2 is false (why???)
Because the == operator for ReferenceType check Addresses and addresses are different.
this rule is ok for all Reference-Type collections in c#, But be careful about String.
The string is reference type but Microsoft overrides the== operator for it so when using the == operator for 2 string that is the same as each other the result is true.
Now the question is: how can compare just the value of 2 arrays?
Microsoft introduces the SequenceEqual() extension method (in the LinQ)
But be careful when using SequenceEqual(), it is too expensive because comparing each pair of elements if it is a bit large could be a lot of operations.
Original Link: https://dev.to/shayankamalzadeh/equality-arraydata-structure-tips-in-c-5dpi
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To