Я пишу скрипт .Net 3.5 C # для Sony Vegas Pro. Я создал этот метод, который возвращает true, если он находит видео-событие с тем же временным кодом, что и данное аудио-событие.
Это работает, но мне интересно, смогу ли я избавиться от циклов foreach с помощью LINQ. Я только изучаю LINQ, и я нахожу это довольно трудным, поэтому, если бы вы могли объяснить свои мыслительные шаги в поиске решения, это было бы здорово.
private bool videoExistsWithSameStart(TrackEvent currentEvent)
{
//Look through each video track - we don't want audio tracks.
var videoTracks = from t in myVegas.Project.Tracks
where t.IsVideo()
select t;
foreach (Track t in videoTracks)
{
foreach (TrackEvent te in t.Events)
{
if (te.Start == currentEvent.Start)
return true;
}
}
return false;
}