Index as string

CSharp · Console

/Program.cs

using System;
					
public class Program
{
	public static void Main()
	{
		var myObjectArray = new MyObject[]{
			new MyObject("item1", "valor1", 1, 1.1),
			new MyObject("item2", "valor2", 2, 2.2),
			new MyObject("item3", "valor3", 3, 3.3)
		};
		
		// Para obter o valor do item2:
		Console.WriteLine(myObjectArray[1].Value);
		
		// O que eu gostaria de fazer é passar o valor da propriedade 'Name' de um determinado objeto como index, e poder acessar todas as propriedades dele, da seguinte forma:
		Console.WriteLine(myObjectArray["item2"].Value);
	}
}

public class MyObject {
	public string Name {get; set;}
	public string Value {get; set;}
	public int Prop1 {get; set;}
	public double Prop2 {get; set;}
	
	public MyObject (string name, string valueParam, int prop1, double prop2){
		this.Name = name;
		this.Value = valueParam;
		this.Prop1 = prop1;
		this.Prop2 = prop2;
	}
}
;