c#如何从列表中获取特定对象
本文关键字:获取 对象 列表 | 更新日期: 2023-09-27 18:11:33
我做了一个根据年龄划分的电影列表。如果你输入你的年龄为18+,你可以看到整个列表。如果你的年龄更小,你会看到一个缩小的列表,这取决于哪些是适合你年龄的。
我制作了一个电影名称列表,但不知道如何在播放时从列表中取出特定的电影。
下面是我的代码:Console.Write("Hi, if you wish to see a movie please enter your age: ");
string AgeAsAString = Console.ReadLine();
int Age = (int)Convert.ToInt32(AgeAsAString);
List<String> ilist = new List<String>();
ilist.Add("Made in Daghenham");
ilist.Add("Buried");
ilist.Add("Despicable Me");
ilist.Add("The Other Guys");
ilist.Add("Takers");
string combindedString = string.Join(",", ilist);
{ if (Age >= 18)
Console.Write(combindedString);
else
if (Age < 18)
Console.Write()
Console.ReadKey();
我似乎找不到一个简单的答案,我只是从整个编码世界开始。谢谢你的帮助!
public class Movie
{
public int MinAge {get;set;}
public string Name{get;set;}
}
var Movies = new List<Movie>{new Movie{Name = "blahblah", MinAge = 18}};
//create the list of movies with the age information
var filtered = (from m in Movies where m.MinAge >= 18 select m).ToList();
也许你正在寻找一个类来保存你需要的电影信息
class Movie
{
public string Name { get; set; }
public int AgeRestriction { get; set; }
}
然后根据这个类填充一个列表并按照你想要的方式返回结果
Console.Write("Hi, if you wish to see a movie please enter your age: ");
string AgeAsAString = Console.ReadLine();
int Age = (int) Convert.ToInt32(AgeAsAString);
List<Movie> ilist = new List<Movie>();
ilist.Add(new Movie()
{
Name = "Buried",
AgeRestriction = 18
});
ilist.Add(new Movie()
{
Name = "Despicable Me",
AgeRestriction = 10
});
if (Age >= 18)
return string.Join(",", ilist.Select(x => x.Name));
else
return string.Join(",", ilist.Where(x => x.AgeRestriction <= Age));
Console.ReadKey();
我假设您需要的结果是一个连体字符串而不是一个List。要过滤出基于年龄的列表,只需使用。
ilist.Where(x => x.AgeRestriction <= Age).ToList()