假设一共有30个产品,编号为1-30
产品A有10个,编码为1-10
产品B有5个,编号为11-15
产品C有2个,编号为16-17
产品D有23个,编号为18-30
现在有一个编码是17,我怎么知道产品到底是A还是B还是C还是D注:每类产品编号用掉一个产品数量就减1
产品A有10个,编码为1-10
产品B有5个,编号为11-15
产品C有2个,编号为16-17
产品D有23个,编号为18-30
现在有一个编码是17,我怎么知道产品到底是A还是B还是C还是D注:每类产品编号用掉一个产品数量就减1
{
public string name { get; set; }
public int min { get; set; }
public int max { get; set; }
public int count { get { return max - min; } }
}
static void Main(string[] args)
{
List<Product> list = new List<Product>()
{
new Product(){ name="A",min=1,max=10},
new Product(){ name="B",min=11,max=15},
new Product(){ name="C",min=16,max=17},
new Product(){ name="D",min=18,max=30}
};
string name = list.Where(t => t.max >= 17 && 17>=t.min).FirstOrDefault().name;
Console.ReadLine();
}
我现在只知道产品总数是30,一共有3类产品,
产品A是5个,产品B是10个,产品C是15个,产品排序也是ABC这样排下来,
产品 A 有 W 个,编码为 1 - W
产品 B 有 X 个,编号为 (W + 1) ~ (W + 1) + X - 1
产品 C 有 Y 个,编号为 (W + 1) + X ~ (W + 1) + X + Y - 1
产品 D 有 Z 个,编号为 (W + 1) + X + Y ~ (W + 1) + X + Y + Z - 1
现在有一个编码是 M,我怎么知道产品到底是 A 还是 B 还是 C 还是 D?