分类及;删除C#多维列表中的行 private void按钮1\u单击(对象发送者,事件参数e) { var trackList=新列表(); trackList.Add(新曲目{TrackID=1234,Name=“我将成为(500英里)”,Artist=“宣告者(I)”,Album=“最优秀(I)”,PlayCount=10,SkipCount=1}); trackList.Add(新曲目{TrackID=5678,Name=“我将成为(1000英里)”,Artist=“宣告者(II)”,Album=“最优秀(II)”,PlayCount=20,SkipCount=2}); trackList.Add(新曲目{TrackID=9101,Name=“我将成为(2000英里)”,Artist=“宣告者(III)”,Album=“最优秀(II)”,PlayCount=40,SkipCount=3}); trackList.Add(新曲目{TrackID=1213,Name=“我将成为(4000英里)”,Artist=“宣告者(IV)”,Album=“最优秀(IV)”,PlayCount=80,SkipCount=4}); //如何根据列名进行排序:Album //下面是这样的。 排序(trackList([04]); //如何根据某些条件删除列中搜索项后的行 trackList.RemoveAll(Album=>Album.Contains(“(II)”); //如何在列表框中填充结果 //listBox1.DataSource=trackList(); } 公共类轨道 { public int TrackID{get;set;} 公共字符串名称{get;set;} 公共字符串艺术家{get;set;} 公共字符串相册{get;set;} public int PlayCount{get;set;} 公共int SkipCount{get;set;} }

分类及;删除C#多维列表中的行 private void按钮1\u单击(对象发送者,事件参数e) { var trackList=新列表(); trackList.Add(新曲目{TrackID=1234,Name=“我将成为(500英里)”,Artist=“宣告者(I)”,Album=“最优秀(I)”,PlayCount=10,SkipCount=1}); trackList.Add(新曲目{TrackID=5678,Name=“我将成为(1000英里)”,Artist=“宣告者(II)”,Album=“最优秀(II)”,PlayCount=20,SkipCount=2}); trackList.Add(新曲目{TrackID=9101,Name=“我将成为(2000英里)”,Artist=“宣告者(III)”,Album=“最优秀(II)”,PlayCount=40,SkipCount=3}); trackList.Add(新曲目{TrackID=1213,Name=“我将成为(4000英里)”,Artist=“宣告者(IV)”,Album=“最优秀(IV)”,PlayCount=80,SkipCount=4}); //如何根据列名进行排序:Album //下面是这样的。 排序(trackList([04]); //如何根据某些条件删除列中搜索项后的行 trackList.RemoveAll(Album=>Album.Contains(“(II)”); //如何在列表框中填充结果 //listBox1.DataSource=trackList(); } 公共类轨道 { public int TrackID{get;set;} 公共字符串名称{get;set;} 公共字符串艺术家{get;set;} 公共字符串相册{get;set;} public int PlayCount{get;set;} 公共int SkipCount{get;set;} },c#,C#,如何根据列名进行排序:Album 查找列中的项并删除这些行 结果应该放在列表框中,也可以创建新列表 您可以使用LINQ: private void button1_Click(object sender, EventArgs e) { var trackList = new List<Track>(); trackList.Add(new Track{ TrackID = 1234, Name = "I'm Gonna Be (500 Mil

如何根据列名进行排序:Album

  • 查找列中的项并删除这些行

  • 结果应该放在列表框中,也可以创建新列表

  • 您可以使用LINQ:

     private void button1_Click(object sender, EventArgs e)
        {
            var trackList = new List<Track>();
            trackList.Add(new Track{ TrackID = 1234, Name = "I'm Gonna Be (500 Miles)", Artist = "The Proclaimers(I)", Album = "Finest(I)", PlayCount = 10, SkipCount = 1 });
            trackList.Add(new Track { TrackID = 5678,Name = "I'm Gonna Be (1000 Miles)",Artist = "The Proclaimers(II)",Album = "Finest(II)", PlayCount = 20,SkipCount = 2});
            trackList.Add(new Track { TrackID = 9101,Name = "I'm Gonna Be (2000 Miles)",Artist = "The Proclaimers(III)",Album = "Finest(II)", PlayCount = 40,SkipCount = 3});
            trackList.Add(new Track { TrackID = 1213,Name = "I'm Gonna Be (4000 Miles)",Artist = "The Proclaimers(IV)",Album = "Finest(IV)", PlayCount = 80,SkipCount = 4});
    
            //How to sort based on column name:Album 
            //something like this below.
            trackList.Sort(trackList([0 4]);
    
            //How to remove rows after search items in a column based on some criteria
    
            trackList.RemoveAll(Album => Album.Contains("(II)"));
    
             //How to Populate resuts in a listbox
    
             //listBox1.DataSource = trackList();
    
        }
    
        public class Track
        {
            public int TrackID { get; set; }
            public string Name { get; set; }
            public string Artist { get; set; }
            public string Album { get; set; }
            public int PlayCount { get; set; }
            public int SkipCount { get; set; }
        }
    

    顺便说一句,它不是一个多维列表,而是一个
    list

    谢谢,太棒了!如何在上面的操作之后用结果创建一个新的列表或数组。@AAP
    var newList=rackList.Where(…).ToList();
    @AAP:我已经在那里构建了一个列表,看看最后的
    ToList())
    @Tim Schmelter,据我所知,您会用过滤结果覆盖相同的内容(trackList=trackList)?@user3185569:非常感谢!你们是新学员的好帮手。
    trackList = trackList
        .Where(t => !t.Album.Contains("(II)"))
        .OrderBy(t => t.Album)
        .ToList();