深入理解 c# 第十一章 按bug严重的优先级从高到低的顺序排序 使用orderby子句进行排序

    class ShowAllOpenDefectsAssignedToTimBySeverity
    {
        static void Main()//使用orderby子句进行排序 按bug严重的优先级
		//从高到低的顺序排序
        {
            User tim = SampleData.Users.TesterTim;
//tim {User: Tim Trotter (Tester)}

            var query = from bug in SampleData.AllDefects
                        where bug.Status != Status.Closed
//bug { 1: MP3 files crash system(2013/5/1-2013/5/23, Showstopper/Accepted, Tim Trotter -> Darren Dahlia)}, tim = {User: Tim Trotter (Tester)}	
//{ 2: Text is too big    (2013/5/3-2013/5/9, Trivial/Closed, Deborah Denton -> n/a)}
//{ 3: Sky is wrong shade of blue    (2013/5/3-2013/5/19, Minor/Fixed, Colin Carton -> Tara Tutu)}
//{ 4: Can't play files more than 200 bytes long    (2013/5/4-2013/5/23, Major/Reopened, Darren Dahlia -> Darren Dahlia)}
//{ 5: Installation is slow    (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
//{ 6: DivX is choppy on Pentium 100    (2013/5/7-2013/5/29, Major/Accepted, Mary Malcop -> Darren Dahlia)}
//{ 7: Client acts as virus    (2013/5/8-2013/5/10, Showstopper/Closed, Deborah Denton -> n/a)}
//{ 8: Subtitles only work in Welsh    (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
//{ 9: Voice recognition is confused by background noise    (2013/5/9-2013/5/15, Minor/Closed, Colin Carton -> n/a)}
//{10: User interface should be more caramelly    (2013/5/9-2013/5/9, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{11: Burning a CD makes the printer catch fire    (2013/5/10-2013/5/29, Showstopper/Closed, Mary Malcop -> n/a)}
//{12: Peer to peer pairing passes parameters poorly    (2013/5/10-2013/5/12, Minor/Accepted, Tara Tutu -> Darren Dahlia)}
//{13: Delay when sending message    (2013/5/11-2013/5/20, Minor/Fixed, Darren Dahlia -> Tara Tutu)}
//{14: Volume control needs to go to 11    (2013/5/11-2013/5/11, Minor/Created, Mary Malcop -> Darren Dahlia)}
//{15: Splash screen fades too quickly    (2013/5/11-2013/5/15, Minor/Fixed, Colin Carton -> Tara Tutu)}
//{16: Text box doesn't keep up with fast typing    (2013/5/12-2013/5/12, Major/Accepted, Deborah Denton -> Deborah Denton)}
//{17: Password displayed in plain text    (2013/5/12-2013/5/13, Showstopper/Closed, Darren Dahlia -> n/a)}
//{18: Play button points the wrong way    (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
//{19: Wizard needed for CD burning    (2013/5/13-2013/5/20, Minor/Fixed, Colin Carton -> Colin Carton)}
//{20: Subtitles don't display during fast forward    (2013/5/13-2013/5/14, Trivial/Accepted, Mary Malcop -> Darren Dahlia)}
//{21: Memory leak when watching Memento    (2013/5/13-2013/5/13, Trivial/Created, Darren Dahlia -> Deborah Denton)}
//{22: Profile screen shows login count of -1    (2013/5/13-2013/5/20, Major/Accepted, Deborah Denton -> Deborah Denton)}
//{23: Server crashes under heavy load (3 users)    (2013/5/13-2013/5/17, Major/Accepted, Tim Trotter -> Deborah Denton)}
//{24: Unable to connect to any media server    (2013/5/15-2013/5/18, Showstopper/Reopened, Tara Tutu -> Darren Dahlia)}
//{25: UI turns black and white when playing old films    (2013/5/15-2013/5/25, Minor/Fixed, Deborah Denton -> Tara Tutu)}
//{26: Password reset changes passwords for all users    (2013/5/16-2013/5/18, Showstopper/Closed, Mary Malcop -> n/a)}
//{27: Modern music sounds rubbish    (2013/5/17-2013/5/17, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{28: Webcam makes me look bald    (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
//{29: Sound is distorted when speakers are underwater    (2013/5/18-2013/5/18, Major/Created, Colin Carton -> Darren Dahlia)}
//{30: Japanese characters don't display properly    (2013/5/19-2013/5/23, Major/Accepted, Darren Dahlia -> Deborah Denton)}
//{31: Video takes 100% of CPU    (2013/5/20-2013/5/22, Major/Accepted, Tara Tutu -> Deborah Denton)}
//{32: DVD Easter eggs unavailable    (2013/5/22-2013/5/22, Trivial/Created, Tim Trotter -> Darren Dahlia)}
//{33: Transparency is high for menus to be readable    (2013/5/23-2013/5/25, Minor/Accepted, Mary Malcop -> Deborah Denton)}
//{34: About box is missing version number    (2013/5/24-2013/5/29, Minor/Fixed, Colin Carton -> Colin Carton)}
//{35: Logs record confidential conversations    (2013/5/25-2013/5/30, Major/Reopened, Tim Trotter -> Darren Dahlia)}
//{36: Profanity filter is too aggressive    (2013/5/27-2013/5/29, Minor/Fixed, Deborah Denton -> Tara Tutu)}
//{37: Full screen mode fails on dual monitors    (2013/5/27-2013/5/27, Minor/Created, Tara Tutu -> Deborah Denton)}
//{38: Visualization hypnotises pets    (2013/5/28-2013/5/29, Minor/Accepted, Colin Carton -> Deborah Denton)}
//{39: Resizing while typing loses input    (2013/5/29-2013/5/29, Trivial/Created, Mary Malcop -> Darren Dahlia)}
//{40: Network is saturated when playing WAV file    (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
//{41: Media library tells user to keep the noise down    (2013/5/31-2013/5/31, Major/Created, Tara Tutu -> Darren Dahlia)}
					
                        where bug.AssignedTo == tim
//tim {User: Tim Trotter (Tester)}
						
                        orderby bug.Severity descending
//{ 5: Installation is slow    (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
//{ 8: Subtitles only work in Welsh    (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
//{18: Play button points the wrong way    (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
//{28: Webcam makes me look bald    (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
//{40: Network is saturated when playing WAV file    (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
//						
                        select bug;
//query {System.Linq.OrderedEnumerable<Model.Defect,Model.Severity>}
            foreach (var bug in query)
			//in 调用 bug.Status != Status.Closed
			//调用 bug.AssignedTo == tim 失败就调用 bug.Status != Status.Closed
			//调用完前两个where 调用orderby bug.Severity descending
			//之后就不调用where 和 orderby了
			//var bug
			//{28: Webcam makes me look bald    (2013/5/18-2013/5/27, Showstopper/Fixed, Tim Trotter -> Tim Trotter)}
			//{ 8: Subtitles only work in Welsh    (2013/5/8-2013/5/23, Major/Fixed, Darren Dahlia -> Tim Trotter)}
			//{18: Play button points the wrong way    (2013/5/12-2013/5/17, Major/Fixed, Tim Trotter -> Tim Trotter)}
			//{40: Network is saturated when playing WAV file    (2013/5/30-2013/5/31, Minor/Fixed, Tim Trotter -> Tim Trotter)}
			//{ 5: Installation is slow    (2013/5/6-2013/5/15, Trivial/Fixed, Tim Trotter -> Tim Trotter)}
			
            {
                Console.WriteLine("{0}: {1}", bug.Severity, bug.Summary);
            }
        }
    }


  我们可以使用一个简单查询来告知Tim,他应该处理分配给他的bug顺序。
使用orderby子句以优先级降序的方式,按照我们想的那样,打印出所有bug的

详细信息。

  输出
Showstopper: Webcam makes me look bald
Major: Subtitles only work in Welsh
Major: Play button points the wrong way
Minor: Network is saturated when playing WAV file
Trivial: Installation is slow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值