Click here to Skip to main content
15,885,914 members
Home / Discussions / C#
   

C#

 
GeneralRe: c# Introduction Pin
ormonds10-Jan-18 23:14
ormonds10-Jan-18 23:14 
GeneralRe: c# Introduction Pin
OriginalGriff10-Jan-18 23:25
mveOriginalGriff10-Jan-18 23:25 
AnswerRe: c# Introduction Pin
Richard MacCutchan10-Jan-18 22:28
mveRichard MacCutchan10-Jan-18 22:28 
GeneralRe: c# Introduction Pin
ormonds10-Jan-18 23:14
ormonds10-Jan-18 23:14 
QuestionHow to compare string data by value and by reference Pin
Mou_kol8-Jan-18 20:59
Mou_kol8-Jan-18 20:59 
AnswerRe: How to compare string data by value and by reference Pin
OriginalGriff8-Jan-18 21:24
mveOriginalGriff8-Jan-18 21:24 
AnswerRe: How to compare string data by value and by reference Pin
Bernhard Hiller9-Jan-18 21:41
Bernhard Hiller9-Jan-18 21:41 
GeneralRe: How to compare string data by value and by reference Pin
OriginalGriff10-Jan-18 0:38
mveOriginalGriff10-Jan-18 0:38 
That's where it gets complicated (and why I didn't mention it - he is a beginner, after all).
The compiler can detect and intern strings, but the runtime doesn't unless you specifically ask it to:
string a = "Hello World";
string b = "Hello";
string c = " World";
string d = b + c;
Console.WriteLine("{0}:{1}:{2}:{3}", a == d, a.Equals(d), (object)a == (object)d, object.ReferenceEquals(a, d));
d = string.Intern(d);
Console.WriteLine("{0}:{1}:{2}:{3}", a == d, a.Equals(d), (object)a == (object)d, object.ReferenceEquals(a, d));

Will give you:
True:True:False:False
True:True:True:True
As the "new" string is now in the Intern pool.

However ... in the release version of my original code you will probably get different results, as the optimiser will likely compact that code and intern the strings anyway!

There is a good description of the intern pool here: Understanding C#: String.Intern makes strings interesting - O'Reilly Broadcast[^]
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!

GeneralRe: How to compare string data by value and by reference Pin
Mou_kol10-Jan-18 21:18
Mou_kol10-Jan-18 21:18 
GeneralRe: How to compare string data by value and by reference Pin
OriginalGriff10-Jan-18 22:02
mveOriginalGriff10-Jan-18 22:02 
GeneralRe: How to compare string data by value and by reference Pin
Mou_kol11-Jan-18 3:42
Mou_kol11-Jan-18 3:42 
GeneralRe: How to compare string data by value and by reference Pin
Richard Deeming11-Jan-18 4:05
mveRichard Deeming11-Jan-18 4:05 
GeneralRe: How to compare string data by value and by reference Pin
Mou_kol15-Jan-18 22:00
Mou_kol15-Jan-18 22:00 
GeneralRe: How to compare string data by value and by reference Pin
Richard Deeming16-Jan-18 1:21
mveRichard Deeming16-Jan-18 1:21 
GeneralRe: How to compare string data by value and by reference Pin
Mou_kol16-Jan-18 1:44
Mou_kol16-Jan-18 1:44 
GeneralRe: How to compare string data by value and by reference Pin
OriginalGriff11-Jan-18 4:19
mveOriginalGriff11-Jan-18 4:19 
GeneralRe: How to compare string data by value and by reference Pin
Mycroft Holmes11-Jan-18 10:32
professionalMycroft Holmes11-Jan-18 10:32 
GeneralRe: How to compare string data by value and by reference Pin
OriginalGriff11-Jan-18 11:19
mveOriginalGriff11-Jan-18 11:19 
QuestionC# Windows Form Application with 86x unmanaged dll Pin
Zeyad Jalil8-Jan-18 20:33
professionalZeyad Jalil8-Jan-18 20:33 
AnswerRe: C# Windows Form Application with 86x unmanaged dll Pin
OriginalGriff8-Jan-18 21:16
mveOriginalGriff8-Jan-18 21:16 
AnswerRe: C# Windows Form Application with 86x unmanaged dll Pin
Gerry Schmitz10-Jan-18 8:23
mveGerry Schmitz10-Jan-18 8:23 
QuestionGame Pin
Member 136022178-Jan-18 10:55
Member 136022178-Jan-18 10:55 
AnswerRe: Game Pin
Pete O'Hanlon8-Jan-18 11:09
mvePete O'Hanlon8-Jan-18 11:09 
GeneralRe: Game Pin
Dave Kreskowiak8-Jan-18 11:26
mveDave Kreskowiak8-Jan-18 11:26 
AnswerRe: Game Pin
Swinkaran8-Jan-18 11:38
professionalSwinkaran8-Jan-18 11:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.