© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•3y ago•
14 replies
Niekon

❔ Why can't I reinitialize an object inside a function?

Hi, I created an object in Program.cs file, and passed it as a parameter in a function. If I change the value of a property in the object, it reflects back in Program.cs as well, but if I reinitialize the object, the object reverts to its original values when back in Program.cs. Why is this happening?

Program.cs
var person = new Person
{
    Name = "ABC",
    Age = 10
};

Console.WriteLine($"Program.cs : Name: {person.Name}, Age: {person.Age}");

PersonMethods personMethods = new PersonMethods();
personMethods.Evaluate(person);

Console.WriteLine($"Program.cs : Name: {person.Name}, Age: {person.Age}");
var person = new Person
{
    Name = "ABC",
    Age = 10
};

Console.WriteLine($"Program.cs : Name: {person.Name}, Age: {person.Age}");

PersonMethods personMethods = new PersonMethods();
personMethods.Evaluate(person);

Console.WriteLine($"Program.cs : Name: {person.Name}, Age: {person.Age}");


PersonMethods.cs
class PersonMethods
{
    public void Evaluate(Person person)
    {
        person = new Person();
        person.Name = "XYZ";
        person.Age = 0;
        Console.WriteLine($"PersonMethods.cs : Name: {person.Name}, Age: {person.Age}");
    }
}
class PersonMethods
{
    public void Evaluate(Person person)
    {
        person = new Person();
        person.Name = "XYZ";
        person.Age = 0;
        Console.WriteLine($"PersonMethods.cs : Name: {person.Name}, Age: {person.Age}");
    }
}


Output
Program.cs : Name: ABC, Age: 10
PersonMethods.cs : Name: XYZ, Age: 0
Program.cs : Name: ABC, Age: 10
Program.cs : Name: ABC, Age: 10
PersonMethods.cs : Name: XYZ, Age: 0
Program.cs : Name: ABC, Age: 10
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Can't access a function inside a class library
C#CC# / help
11mo ago
❔ How can I make an instantiated object move?
C#CC# / help
4y ago