我很好奇这个程序是否可以以更加优雅和清洁的方式取得成功?
foreach (MediaTitle item in mediaTitleCollection)
{
if (item is FilmMedia)
{
FilmMedia tempItem = (FilmMedia) item;
sum += tempItem.Playtime;
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
jas*_*son 14
var sum = mediaTitleCollection.OfType<FilmMedia>().Sum(x => x.Playtime);
Run Code Online (Sandbox Code Playgroud)
您可以使用OfType<T>类型检查和强制转换(仅过滤到类型的元素FilmMedia),然后根据PlayTime属性计算总和:
sum = mediaTitleCollection.OfType<FilmMedia>()
.Select(x=> x.Playtime)
.Sum();
Run Code Online (Sandbox Code Playgroud)