C# | Method returning an object

In C#, a method can return any type of data including objects. In other words, methods are allowed to return objects without any compile time error.

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the concept
// of the method returning an object
using System;
  
class Example {
  
    // Private data member
    private string str;
  
    // Method to set the value of str
    public void setdata(string s)
    {
        str = s;
    }
  
    // Method to display the value of str
    public void Display()
    {
        Console.WriteLine("String is: " + str);
    }
  
    // Method that return object
    public Example Astr(Example ex)
    {
  
        // Creating object of Example
        Example obj = new Example();
  
        // Adding the value of passed 
        // an object in the current object
        // and adding the sum in another object
        obj.str = str + ex.str;
  
        // Returning the object
        return obj;
    }
}
  
// Driver Class
class GFG {
  
    // Main method
    static void Main()
    {
  
        // Declaring objects of Example
        Example o1 = new Example();
        Example o2 = new Example();
  
        // Initialize the values to the objects
        o1.setdata("Geeks");
        o2.setdata("forGeeks");
  
        // Adding value of both objects
        // and the result will be
        // assigned into third object
        Example o3 = o1.Astr(o2);
  
        // Display the data
        o1.Display();
        o2.Display();
        o3.Display();
    }
}

chevron_right


Output:

String is: Geeks
String is: forGeeks
String is: GeeksforGeeks

Explanation: In the above example, we have a class named as Example. Example class contains setdata() method which is used to set the value of str, and Display() method is used to display the value of str, and Astr() is used to add the value of passed object in current object and adding the sum in another object. In Main method, three objects o1, o2, and o3 of Example class are created. In this statement, Example o3 = o1.Astr(o2);, the value of o1 and o2 object is added and the result is assigned into o3 object.

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to illustrate the 
// concept that how method returns 
// an object
using System;
  
class Triangle {
  
    // Data member of class
    int Base;
    int Height;
  
    // Constructor of class
    public Triangle(int b, int h)
    {
        Base = b;
        Height = h;
    }
  
    // Method retrun area of triangle
    public int Area()
    {
        return ((Base * Height) / 2);
    }
  
    // Method display the dimension of triangle
    public void Display()
    {
        Console.WriteLine("\nBase of the triangle is: " 
              + Base + "\nHeight of the triangle is:  " 
                                             + Height);
    }
  
    public Triangle newdimension(int d)
    {
        return new Triangle(Base * d, Height * d);
    }
}
  
class GFG {
  
    // Main method
    public static void Main()
    {
  
        // Creating and initializing object
        Triangle t1 = new Triangle(2, 8);
  
        // Display the dimensions and area of triangle
        Console.Write("Dimensions of Triangle is: ");
        t1.Display();
        Console.Write("Area of Triangle is: {0}", t1.Area());
  
        Console.WriteLine();
        Console.WriteLine();
  
        Triangle t2 = t1.newdimension(2);
  
        Console.Write("New Dimensions of Triangle is: ");
        t2.Display();
        Console.Write("New area of Triangle is: {0}", t2.Area());
    }
}

chevron_right


Output:

Dimensions of Triangle is: 
Base of the triangle is: 2
Height of the triangle is:  8
Area of Triangle is: 8

New Dimensions of Triangle is: 
Base of the triangle is: 4
Height of the triangle is:  16
New area of Triangle is: 32

Explanation: In the above example, we have a class named as the Triangle. The Triangle class contains constructor Triangle(), method Area() to find the area of the triangle, method Display() to display the dimension of the triangle, and method newdimension() to provide a new dimension of the triangle. The value of the dimension is returned by the object. Now in the Main method there are two objects named as t1 and t2. In this statement Triangle t2 = t1.newdimension(2);, the previous dimension, i.e. 2 and 8 of the triangle is enlarged by 2 and the result assigned to the t2 object.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.