Click here to Skip to main content
15,893,564 members
Home / Discussions / C#
   

C#

 
GeneralRe: Starting a new project in C# Pin
Mycroft Holmes16-Feb-14 17:08
professionalMycroft Holmes16-Feb-14 17:08 
GeneralRe: Starting a new project in C# Pin
FilipJ16-Feb-14 17:38
FilipJ16-Feb-14 17:38 
GeneralRe: Starting a new project in C# Pin
Mycroft Holmes16-Feb-14 17:56
professionalMycroft Holmes16-Feb-14 17:56 
GeneralRe: Starting a new project in C# Pin
FilipJ16-Feb-14 18:10
FilipJ16-Feb-14 18:10 
AnswerRe: Starting a new project in C# Pin
Peter Leow16-Feb-14 16:36
professionalPeter Leow16-Feb-14 16:36 
GeneralRe: Starting a new project in C# Pin
FilipJ16-Feb-14 17:45
FilipJ16-Feb-14 17:45 
AnswerRe: Starting a new project in C# Pin
V.16-Feb-14 21:22
professionalV.16-Feb-14 21:22 
GeneralRe: Starting a new project in C# Pin
FilipJ16-Feb-14 23:46
FilipJ16-Feb-14 23:46 
GeneralRe: Starting a new project in C# Pin
V.16-Feb-14 23:52
professionalV.16-Feb-14 23:52 
GeneralRe: Starting a new project in C# Pin
FilipJ17-Feb-14 0:02
FilipJ17-Feb-14 0:02 
AnswerRe: Starting a new project in C# Pin
Ravi Bhavnani17-Feb-14 7:49
professionalRavi Bhavnani17-Feb-14 7:49 
AnswerRe: Starting a new project in C# Pin
David C# Hobbyist.17-Feb-14 12:15
professionalDavid C# Hobbyist.17-Feb-14 12:15 
QuestionStruct vs Class? PinPopular
David C# Hobbyist.16-Feb-14 12:34
professionalDavid C# Hobbyist.16-Feb-14 12:34 
AnswerRe: Struct vs Class? Pin
Peter Leow16-Feb-14 13:29
professionalPeter Leow16-Feb-14 13:29 
AnswerRe: Struct vs Class? PinPopular
OriginalGriff16-Feb-14 21:29
mveOriginalGriff16-Feb-14 21:29 
GeneralRe: Struct vs Class? Pin
Nicholas Marty16-Feb-14 21:55
professionalNicholas Marty16-Feb-14 21:55 
GeneralRe: Struct vs Class? Pin
harold aptroot16-Feb-14 22:02
harold aptroot16-Feb-14 22:02 
GeneralRe: Struct vs Class? Pin
OriginalGriff16-Feb-14 22:17
mveOriginalGriff16-Feb-14 22:17 
GeneralRe: Struct vs Class? Pin
OriginalGriff16-Feb-14 22:26
mveOriginalGriff16-Feb-14 22:26 
GeneralRe: Struct vs Class? Pin
harold aptroot16-Feb-14 22:59
harold aptroot16-Feb-14 22:59 
GeneralRe: Struct vs Class? Pin
OriginalGriff17-Feb-14 0:06
mveOriginalGriff17-Feb-14 0:06 
GeneralRe: Struct vs Class? Pin
harold aptroot17-Feb-14 0:16
harold aptroot17-Feb-14 0:16 
GeneralRe: Struct vs Class? Pin
jschell17-Feb-14 12:07
jschell17-Feb-14 12:07 
GeneralRe: Struct vs Class? Pin
BillWoodruff17-Feb-14 1:41
professionalBillWoodruff17-Feb-14 1:41 
+5 very useful response !

I find it hard to conceptualize structs as "immutable" when I can do stuff like that shown in the code for 'TestStruct below; and, so do other people:
C#
public struct MyStruct
{
    public string Name;
    public int X;
    public int Y;

    public int Z { set; get; }

    public MyStruct(int z) : this() { Z = z; }
}

public void increment(ref MyStruct aStruct, int inc )
{
    aStruct.X += inc;
}

private void WriteSValues(params MyStruct[] theStructs)
{
    foreach (var theStruct in theStructs)
    {
        Console.WriteLine("Name: {0} X: {1} Y: {2} X: {3}",
            theStruct.Name,
            theStruct.X,
            theStruct.Y,
            theStruct.Z);
    }
    Console.WriteLine();
}

// test
private void TestStruct()
{
    MyStruct ms1 = new MyStruct(300) {Name = "ms1", X = 100, Y = 200};
    ms1.X += -300;

    MyStruct ms2 = ms1;
    ms2.Name = "ms2";

    WriteSValues(ms1, ms2);

    increment(ref ms1, 200);

    WriteSValues(ms1, ms2);

    ms1.X += 500;
    WriteSValues(ms1, ms2);

    MyStruct ms3 = ms2;
    ms3.Name = "ms3";
    WriteSValues(ms1, ms2, ms3);

    increment(ref ms3, 1000);
    WriteSValues(ms1, ms2, ms3);
}
The above is a diagnostic quiz I wrote for some supposedly "intermediate" C# students (not students of mine): their task was to describe the values for each struct created, at each line of the code, and explain why the values were what they were. About half understood that assigning an instance of a struct to another instance of a struct of the same Type created a copy, but they all were quite confused by the other bits in the code. The quiz was administered by their regular teacher, so I don't think the results exhibit bias due to shyness in the presence of someone from outside their social process.
“But I don't want to go among mad people,” Alice remarked.

“Oh, you can't help that,” said the Cat: “we're all mad here. I'm mad. You're mad.”

“How do you know I'm mad?” said Alice.

“You must be," said the Cat, or you wouldn't have come here.” Lewis Carroll

AnswerStruct vs Class? (Off Topic) Pin
OriginalGriff17-Feb-14 0:41
mveOriginalGriff17-Feb-14 0: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.