代码中根据数量将数据拆分成多条

qq_31107977 2017-09-14 03:18:10
如题
Student list=new List<Student>(){
new Student(){ ID=1,Name="张三",Quantity=10}
};

将第一条数据根据数量拆分成10条记录 插入到集合中

不要用for循环 和 foreach

Student list=new List<Student>(){
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
new Student(){ ID=1,Name="张三",Quantity=1},
.......
};
...全文
367 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-09-15
  • 打赏
  • 举报
回复
        static void Main(string[] args)
        {
            var list = new List<Student>(){
                new Student(){ ID=1,Name="张三",Quantity=10}
            };
            var n = list[0].Quantity;
            var p = list[0];
            p.Quantity = 1;
            list = Enumerable.Range(1, n).Select(x => p).ToList();
            Console.Write(list.Count);
        }
        class Student
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public int Quantity { get; set; }
        }
threenewbee 2017-09-14
  • 打赏
  • 举报
回复
用skip take两个函数就可以
  • 打赏
  • 举报
回复
不让用 for 可以用 goto 语句。哈哈
webdiyer 2017-09-14
  • 打赏
  • 举报
回复
什么意思?你要生成Quantity条数据吗?用Linq很简单: void Main() { var std=new Student(){ ID=1,Name="张三",Quantity=10}; var stds=Enumerable.Range(1,std.Quantity).Select(r=>new Student{ID=1,Name="张三",Quantity=1}).ToList(); stds.Dump(); } public class Student{ public int ID{get;set;} public string Name{get;set;} public int Quantity{get;set;} } 在LinqPad中测试通过
正怒月神 2017-09-14
  • 打赏
  • 举报
回复
如果只是说不适用for 和 foreach的话。 do while可以。 或者使用递归。 static void Main() { Get(); Console.ReadLine(); } static Student s = new Student() { id = 1, name = "张三", qty = 10 }; static List<Student> listResult = new List<Student>(); static int count = s.qty; public static void Get() { if (count > 0) { s.qty = 1; listResult.Add(s); count--; Get(); } }
ilikeff8 2017-09-14
  • 打赏
  • 举报
回复
没看懂,为什么不要循环
exception92 2017-09-14
  • 打赏
  • 举报
回复
引用 2 楼 qq_31107977 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] 不要用for循环 和 foreach -》 用do while 循环。
能否给下样例吗[/quote] http://csharp.net-informations.com/statements/csharp-do-while-loop.htm
qq_31107977 2017-09-14
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
不要用for循环 和 foreach -》 用do while 循环。
能否给下样例吗
exception92 2017-09-14
  • 打赏
  • 举报
回复
不要用for循环 和 foreach -》 用do while 循环。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧