Click here to Skip to main content
15,562,256 members
Home / Discussions / C#
   

C#

 
GeneralRe: Regarding a line in code Pin
Richard Deeming6-Dec-22 2:08
mveRichard Deeming6-Dec-22 2:08 
GeneralRe: Regarding a line in code Pin
BillWoodruff6-Dec-22 2:29
professionalBillWoodruff6-Dec-22 2:29 
GeneralRe: Regarding a line in code Pin
Richard MacCutchan6-Dec-22 2:34
mveRichard MacCutchan6-Dec-22 2:34 
GeneralRe: Regarding a line in code Pin
BillWoodruff6-Dec-22 2:43
professionalBillWoodruff6-Dec-22 2:43 
GeneralRe: Regarding a line in code Pin
Richard MacCutchan6-Dec-22 3:03
mveRichard MacCutchan6-Dec-22 3:03 
QuestionMessage Closed Pin
29-Nov-22 1:17
zystein29-Nov-22 1:17 
AnswerRe: A Problem about Collections Pin
Richard MacCutchan29-Nov-22 1:50
mveRichard MacCutchan29-Nov-22 1:50 
AnswerRe: A Problem about Collections Pin
OriginalGriff29-Nov-22 2:47
mvaOriginalGriff29-Nov-22 2:47 
To add to what Richard has said, the important thing here is the keyword new

When you create a new instance of any class, that is exactly what you get: a brand new, totally separate instance of the class which has nothing at all to do with any other. Think about it: if you put your mobile in the glovebox of your car, then go and buy a new vehicle, would your mobile be in it's glovebox? Of course not - you understand that the two cars are separate, and whatever you do to the first one has no affect whatsoever on the second! Indeed, life would get very odd if it was otherwise!

So when you do this:
C#
List<int> a = new List<int>();
List<int> b = new List<int>();
List<int> c = new List<int>();
you create three independent collections: whatever you do to one has no affect on the others. When you add items to a collection a "copy" of the value is added so when you remove them, only that local copy gets removed.

If instead of integers you used a class, then a copy of the reference to that class instance is added, so if a class exists in two collections, then changing it's content via either collection effects the same instance:
C#
public class MyClass
    {
    public int X { get; set; }
    }
private void MyButton_Click(object sender, EventArgs e)
    {
    List<MyClass> a = new List<MyClass>();
    List<MyClass> b = new List<MyClass>();
    MyClass mc = new MyClass() { X = 1 };
    a.Add(mc);
    b.Add(mc);
    foreach (MyClass m in a)
        {
        m.X += 10;
        }
    foreach (MyClass m in b)
        {
        m.X += 100;
        }
    Console.WriteLine(mc.X);
    }
Will print "111" because the same instance is accessed from both collections.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!

QuestionSimple Broadcast Message on Local Host Pin
CodaNV28-Nov-22 22:49
CodaNV28-Nov-22 22:49 
AnswerRe: Simple Broadcast Message on Local Host Pin
OriginalGriff29-Nov-22 0:04
mvaOriginalGriff29-Nov-22 0:04 
GeneralRe: Simple Broadcast Message on Local Host Pin
CodaNV29-Nov-22 0:34
CodaNV29-Nov-22 0:34 
GeneralRe: Simple Broadcast Message on Local Host Pin
jschell29-Nov-22 7:27
jschell29-Nov-22 7:27 
AnswerRe: Simple Broadcast Message on Local Host Pin
Richard Deeming29-Nov-22 0:09
mveRichard Deeming29-Nov-22 0:09 
GeneralRe: Simple Broadcast Message on Local Host Pin
CodaNV29-Nov-22 0:37
CodaNV29-Nov-22 0:37 
AnswerRe: Simple Broadcast Message on Local Host Pin
Gerry Schmitz1-Dec-22 6:27
mveGerry Schmitz1-Dec-22 6:27 
AnswerRe: Simple Broadcast Message on Local Host Pin
CodaNV11-Dec-22 17:09
CodaNV11-Dec-22 17:09 
QuestionMy winform resize when i open an OleDbConnection Pin
Le@rner27-Nov-22 19:42
Le@rner27-Nov-22 19:42 
AnswerRe: My winform resize when i open an OleDbConnection Pin
Pete O'Hanlon27-Nov-22 22:30
mvaPete O'Hanlon27-Nov-22 22:30 
QuestionConcurrent Containers Pin
Richard Andrew x6424-Nov-22 15:47
professionalRichard Andrew x6424-Nov-22 15:47 
AnswerRe: Concurrent Containers Pin
Richard Deeming24-Nov-22 23:02
mveRichard Deeming24-Nov-22 23:02 
GeneralRe: Concurrent Containers Pin
Richard Andrew x6425-Nov-22 3:18
professionalRichard Andrew x6425-Nov-22 3:18 
AnswerRe: Concurrent Containers Pin
Gerry Schmitz25-Nov-22 6:10
mveGerry Schmitz25-Nov-22 6:10 
GeneralRe: Concurrent Containers Pin
Richard Andrew x6425-Nov-22 6:24
professionalRichard Andrew x6425-Nov-22 6:24 
QuestionEntity Framework Core 6 Problem Pin
Kevin Marois24-Nov-22 10:01
professionalKevin Marois24-Nov-22 10:01 
AnswerRe: Entity Framework Core 6 Problem Pin
Dave Kreskowiak24-Nov-22 10:41
mveDave Kreskowiak24-Nov-22 10:41 

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.