更快/更短的方法是什么。
Store[] store = new Store[3];
store [0] = new Store();
store [0].Price = 5.24;
store [0].ValueType = eValueType.Normal;
store [1] = new Store();
store [1].Price = 7.89;
store [1].ValueType = eValueTyp.Normal;
store [2] = new Store();
store [2].Price = 7.89;
store [2].ValueType = eValueTyp.Normal;
public class Store
{
public enum eValueType
{
Real,
Normal
}
private double _price;
private eValueType _valueType;
public double Price
{
get { return _price; }
set { _price = value; }
}
public eValueType ValueType
{
get { return _valueType; }
set { _valueType = value; }
}
}
答案 0 :(得分:2)
您可以使用对象初始值设定项,如下所示:
store[0] = new Store() { Price = 5.24, ValueType = eValueType.Normal };
store[1] = new Store() { Price = 7.89, ValueType = eValueType.Normal };
store[2] = new Store() { Price = 7.89, ValueType = eValueType.Normal };
或者,如果您为Store
类提供构造函数,请执行以下操作:
public Store (double price, eValueType valueType)
{
this.Price = price;
this.eValueType = valueType;
}
然后你可以像这样使用它:
store[0] = new Store(5.24, eValueType.Normal);
store[1] = new Store(7.89, eValueType.Normal);
store[2] = new Store(7.89, eValueType.Normal);
答案 1 :(得分:1)
var stores = new []
{
new Store { Price = 5.24, ValueType = eValueType.Normal },
new Store { Price = 7.89, ValueType = eValueType.Normal },
new Store { Price = 7.89, ValueType = eValueType.Normal }
};
答案 2 :(得分:1)
var stores = (new[] { 5.24, 7.89, 7.89 })
.Select(p => new Store{ Price = p, ValueType = eValueType.Normal })
.ToArray();
或者如果你有不同的“ValueTypes”:
var prices = new[] { 3.12, 6.34, 7.89 };
var values = new[] { eValueType.Normal, eValueType.Real, eValueType.Real };
var stores = prices.Zip(values,
(p, v) => new Store { Price = p, ValueType = v })
.ToArray();