Извините, я не могу комментировать, поэтому должен опубликовать ответ:
, если вам нужно отслеживать несколько свойств объекта, то вы должны создать его класс, например (объектно-ориентированное программирование):
public class Product
{
public string Name {get;set;}
public double Price {get;set;}
public Product(string name, double price)
{
Name = name;
Price = price
}
}
таким образом вы можете просто сделать: Product chair = new Product("Camping Chair", 12.99);
или вы можете заполнить список
List<Product> products = new List<Product>()
{
new Product("Camping Chair", 12.99),
new Product("Tent", 25.99)
}
, а затем отобразить ваши продукты в виде списка или таблицы данных и т. Д., Это будет лучшим подходомзатем ведение двух списков с именами и ценами.
это также облегчит работу со списком, так как у него есть свойство с именем SelectedItem
, которое вы можете привести к своему классу, а затем сослаться на его свойства, например:
Product selectedProduct = myListbox.SelectedItem as Product;
myLabel.Text = selectedProduct?.Price.ToString();
РЕДАКТИРОВАТЬ:
, поскольку классы не охвачены, вы можете использовать Dictionary<string,double>
, чтобы отслеживать ваши цены и ключи (название продукта) или, по крайней мере,a List<KeyValuePair<string,double>>
:
Ниже приведен краткий пример, с которого можно начать:
Dictionary<string, double> products = new Dictionary<string, double>()
{
{"Camping Chair",33.0},
{"Stool",12.99},
};
//accessing the price via the key, which
var price = products.Where(x => x.Key == "Stool").SingleOrDefault();
// you could then pass in the selected item of your list box as string
var price = products.Where(x => x.Key == listbox.SelectedItem.ToString()).SingleOrDefault();
Подробнее о словарь в msdn
Подробнее о KeyValuePair на MSDN