C# Tutorial

C# Tutorial C# First Application C# Variables C# Data Types C# Operators C# Keywords

C# Control Statement

C# If Statements C# Switch Statements C# for Loop C# While Loop C# do While loop C# Jump Statements C# Function C# functions with out variable

C# Arrays

C# Arrays

C# Function

C# Function call by value C# Call by reference C# Passing array to function C# Multidimensional Arrays C# Jagged Arrays C# Params C# Array Class C# Command Line Arguments

C# Object Class

C# Object and Classes C# Constructors C# Destructor C# this Keyword C# static field C# static class C# Static Constructor C# Structs C# enum C# Properties

C# Inheritance

C# Inheritance C# Multilevel Inheritance C# Aggregation C# Member overloading C# Method Overriding C# Base

C# Polymorphism

C# Polymorphism C# Sealed

C# Abstraction

C# Abstraction C# Interface

C# Namespace

C# Namespace C# Access Modifiers C# Encapsulation

C# Strings

C# String

C# Misc

C# Design Patterns Dictionary in C# Boxing and Unboxing in C# Ref and Out in C# Serialization in C# Dispose and Finalize in C# CONSOLE LOG IN C# Get File extension in C# Insert query in c# Difference Between List and Dictionary in C# Getters and Setters in C# Extension Methods in C# Insert query in c# CONSOLE LOG IN C# Get File extension in C# Random.NextDouble() Method in C# Binary Search in C# Difference between Delegates and Interfaces in C# Double.IsFinite() Method in C# Index Constructor in C# Abstraction in C# Basic OOPS Concepts In C# Queue.CopyTo() Method in C# single.compareto() method in C# C# Throw Exception in Constructor DECODE IN C# file.setlastwritetimeutc() method in C# Convert Object to List in C# convert.ToSByte(string, IFormatProvider) Method in C# C# Declare Delegate in Interface console.TreatControl C As Input property in C# Copying the queue elements to 1-D Array in C# Array.Constrainedcopy() Method in C# C# in and out Char.IsLetterOrDigit() method in C# Debugging in C# decimal.compare() method in C# Difference between Console.Read and Console.Readline in C# Metadata in C# C# Event Handler Example Default Interface Methods in C# Difference between hashtable and dictionary in C# C# program to implement IDisposable Interface Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File C# Error Logging C# ENCRIPTION Can we create an object for Abstract Class in C# Console.CursorVisible in C# SortedDictionary Implementation in C# C# Hash Table with Examples Setting the Location of the Label in c# Collections in c# Virtual Keyword in C# Reverse of string in C# String and StringBuilder in C# Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File Difference between ref and out in C# Singleton Class in C# Const And Readonly In Csharp BinaryReader and BinaryWriter in C# C# Attributes C# Delegates DirectoryInfo Class in C# Export and Import Excel Data in C# File Class in C# FileInfo Class in C# How to Cancel Parallel Operations in C#? Maximum Degree of Parallelism in C# Parallel Foreach Loop in C# Parallel Invoke in C# StreamReader and StreamWriter in C# TextReader and TextWriter in C# AsQueryable() in C# Basic Database Operations Using C# C# Anonymous Methods C# Events C# Generics C# Indexers C# Multidimensional Indexers C# Multithreading C# New Features C# Overloading of Indexers Difference between delegates and events in C# Operator overloading in C# Filter table in C# C# Queue with Examples C# Sortedlist With Examples C# Stack with Examples C# Unsafe Code File Handling in C# HashSet in C# with Examples List Implementation in C# SortedSet in C# with Examples C# in Depth Delegates and Events in C# Finally Block in C# How to Split String in C# Loggers in C# Nullable Types in C# REVERSE A STRING IN C# TYPE CASTING IN C# What is Generics in C# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# Atomic Methods Thread Safety and Race Conditions in C# Parallel LINQ in C# Design Principles in C# Difference Between Struct And Class In C# Difference between Abstraction and Encapsulation in C# Escape Sequence Characters in C# What is IOC in C# Multiple Catch blocks in C# Appdomain in C# Call back methods in C# Change Datetime format in C# Declare String array in C# Default Access Specifier in c# Foreach in LINQ C# How to compare two lists in C# How to Convert String to Datetime in c# How to get only Date from DateTime in C# Ispostback in asp net C# JSON OBJECT IN C# JSON STRINGIFY IN C# LAMBDA FUNCTION IN C# LINQ Lambda Expression in C# Microservices in C# MSIL IN C# Reference parameter in C# Shadowing(Method hiding) in C# Solid principles in C# Static Members in C# Task run in C# Transaction scope in C# Type Conversion in c# Unit of Work in C# Unit Test Cases in c# User Defined Exception in c# Using Keyword in C# Var Keyword in C# What is gac in C#

Convert Object to List in C#

In this fast-evolving world of the C# programming, there appears to be many situations where developers need to go for more optimistic approaches in life. One of these being converting an object into a list. This approach appears to be one of the most common practices when we are working with any sort of data structures and algorithms. It is also a very integral part when we are handling information. In this tutorial, we will be mainly discussing about how we can turn an object into list and what are the different approaches to do the same.

Understanding the basic object and lists

Before we move forward and discuss how we can perform the transformation process between the object and the lists, we have to first understand these two basic concepts in the C# language. An object is primarily something that contains anything such as some data and the actions associated with it. It contains some stuff and qualities which are also known as the attributes and methods which helps us in performing some functions. Whereas on the other hand, lists are basically a container that can withstand or hold a group of items together. They also contain a lot of methods which helps us in handling all those materials or items present in the list.

Ways to perform the Conversion

In this part of the tutorial, we are mainly going to see the ways in which we can convert the object into the list. Here are some of the ways: -

  • Physical conversion

One of the simplest ways to convert the objects into the lists is simply doing it manually. Developers can simply go through each of the fields and methods of the objects and figure out what they do and then move ahead and add them manually in the list. Even though this approach has more power and knowledge than all the other ways it can still be cumbersome and exhausting as we have to do it one by one.

  • Initialization

In the C# programming language, there’s a simple way in which we can simply approach the list or start the list by engaging or manipulating the properties of an object directly. We don’t have to go ahead and manually perform the conversion process we can simply access it through the methods of the objects directly. One important thing to pay attention when doing this that the list and the object’s actions should match each other, otherwise it can also result in run time errors which we all want to avoid.

  • Language Integrated Query

One of the notable features of the C# language is LINQ where we can simply ask questions and manipulate the data. It provides a very straight forward and clear way to covert objects to lists. Developers can simply use this cool feature and pick up some of the special features of these objects and then can put them into the lists. Even though it may add some complexity into our code, it also makes our code very easy to read and understand and also makes it shorter in length.

Example

using System;

using System.Collections.Generic;

class Person

{

    public string Name { get; set; }

    public int Age { get; set; }

}

class Program

{

    static void Main()

    {

        // In this step we are creating an object

        Person p = new Person

        {

            Name = "Sujoy Ghosh",

            Age = 22

        };

        // In the following step we will be converting that object into list

        List<object> pList = new List<object>

        {

            new { PropertyName = "Name", PropertyValue = p.Name },

            new { PropertyName = "Age", PropertyValue = p.Age }

        };

        // Let's write a function to print the Converted List

        Console.WriteLine("Here is the following Converted List:");

        foreach (var item in pList)

        {

            Console.WriteLine($"{item.GetType().GetProperty("PropertyName").GetValue(item)}: {item.GetType().GetProperty("PropertyValue").GetValue(item)}");

        }

    }

}

Output:

Convert Object to List in C#

Conclusion

Developers have to often engage in the conversion process of the objects into lists. Its important to know the right and efficient ways to do the same to write efficient and shorter codes. It doesn’t matter which technique you prefer while converting it be it converting the same step by step or using the LINQ feature, we have to make sure our code is readable and understandable to promote code readability and maintainability.