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