Добавления переменной в аргумент

Хотел узнать, как можно добавить переменную в аргумент?
Или нету такой возможности в С#?
P.s. Нужно (После запроса пользователя) обратится к User и показать имя, но если ввести 1 или 2 то он просто сделает это как строка, а не аргумент...

Сам код:

public class User
{
    public string Name;
    
    public int Value;
    
    public static int Count;
    
    public User (string n, int v)
    {
        Name = n;
        Value = v;
        Count = Count + 1;
    }
}

public static void Main(string[] args)
{   
    User u1 = new User("Дмитрий", 10);
    User u2 = new User("Егор", 20);
    
    int ID;
    
    ID = Int32.Parse(Console.ReadLine());
    
    Console.WriteLine("u" + ID + ".Name");
    
    Console.Write("Press any key to continue . . . ");
    Console.ReadKey(true);
}

Ответы (1 шт):

Автор решения: PashaPash

Нет, по имени переменной обратится нельзя. Имена у локальных переменных есть только в исходном коде, после компиляции они исчезают. Можно сложить объекты в словарь и обращаться по ключу:

var users = new Dictionary<int, User>
{
    { 1, new User("Дмитрий", 10) },
    { 2, new User("Егор", 20) }
};

и выводить как

Console.WriteLine(users[ID].Name);
→ Ссылка