Я использую Entity Framework, и я хотел бы сохранить общее количество элементов в пределах определенного набора букв (если это имеет смысл):
A - D (12) - (where 12 is the total amount and the data falls between letters A and D).
E - H (24)
I - L (9)
M - P (62)
Q - T (18)
U - Z (0)
Я не совсем знал, как это сделать с Dictionary
.
Допустим, мой модельный объект состоит из Id
и Title
и что он называется Discount
.
На данный момент у меня есть следующее:
List<Discount> discounts = new List<Discount>();
Dictionary<string, Discount> dict = new Dictionary<string, Discount>();
foreach (DiscountDTO discount in discounts)
{
if (discount.Title.StartsWith("A") ||
discount.Title.StartsWith("B") ||
discount.Title.StartsWith("C") ||
discount.Title.StartsWith("D"))
{
dict.Add("A - D", discount);
} else if (discount.Title.StartsWith("E") ||
discount.Title.StartsWith("F") ||
discount.Title.StartsWith("G") ||
discount.Title.StartsWith("H"))
{
dict.Add("E - H", discount);
} else if (discount.Title.StartsWith("I") ||
discount.Title.StartsWith("J") ||
discount.Title.StartsWith("K") ||
discount.Title.StartsWith("L"))
{
dict.Add("I - L", discount);
} else if (discount.Title.StartsWith("M") ||
discount.Title.StartsWith("N") ||
discount.Title.StartsWith("O") ||
discount.Title.StartsWith("P"))
{
dict.Add("M - P", discount);
} else if (discount.Title.StartsWith("Q") ||
discount.Title.StartsWith("R") ||
discount.Title.StartsWith("S") ||
discount.Title.StartsWith("T"))
{
dict.Add("Q - T", discount);
} else if (discount.Title.StartsWith("U") ||
discount.Title.StartsWith("V") ||
discount.Title.StartsWith("W") ||
discount.Title.StartsWith("X") ||
discount.Title.StartsWith("Y") ||
discount.Title.StartsWith("Z"))
{
dict.Add("U - Z", discount);
}
}
Заранее спасибо.