本文整理汇总了C#中Sequence.Skip方法的典型用法代码示例。如果您正苦于以下问题:C# Sequence.Skip方法的具体用法?C# Sequence.Skip怎么用?C# Sequence.Skip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sequence
的用法示例。
在下文中一共展示了Sequence.Skip方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VerifySongData
List<string> VerifySongData(string midiTrackName, Sequence midiSequence, SongCacheItem songCacheItem)
{
var fileErrors = new List<string>();
try
{
if (midiSequence.FirstOrDefault() == null)
{
fileErrors.Add("No Tracks");
}
else
{
var proTracks = midiSequence.Skip(1).ToList();
foreach (var track in proTracks)
{
if (track.Name != null && track.Name == "(no name)")
{
fileErrors.Add("******** Missing Track Name: " + (track.Name ?? ""));
}
else if (track.Name.IsProTrackName() == false)
{
fileErrors.Add("Invalid Track Name: " + (track.Name ?? ""));
}
}
}
foreach (var track in midiSequence)
{
if (track.Name.IsEmpty())
{
fileErrors.Add("Null track name");
}
else if (track.Name.IsProTrackName() && midiSequence.IndexOf(track) == 0)
{
fileErrors.Add("Tempo must be first track");
}
}
var tracks = midiSequence.GetGuitarBassTracks().ToList();
bool foundGuitarTrack = tracks.Any(x => x.Name.IsGuitarTrackName());
bool foundBassTrack = tracks.Any(x => x.Name.IsBassTrackName());
bool foundGuitar22 = tracks.Any(x => x.Name.IsGuitarTrackName22());
bool foundBass22 = tracks.Any(x => x.Name.IsBassTrackName22());
bool foundGuitar17 = tracks.Any(x => x.Name.IsGuitarTrackName17());
bool foundBass17 = tracks.Any(x => x.Name.IsBassTrackName17());
if (foundGuitarTrack == false)
{
fileErrors.Add("No pro guitar track in midi file: " + midiTrackName);
}
if (foundBassTrack == false && (songCacheItem != null && songCacheItem.HasBass == true))
{
fileErrors.Add("No pro bass track in midi file: " + midiTrackName);
}
if (foundGuitar22 == true && foundGuitar17 == false)
{
fileErrors.Add("No 17 fret pro guitar track in file: " + midiTrackName);
}
if (foundBass22 == true && foundBass17 == false)
{
fileErrors.Add("No 17 fret pro bass track in file: " + midiTrackName);
}
foreach (var currentTrack in tracks)
{
var currentTrackName = currentTrack.Name ?? "(no name)";
if (!EditorPro.SetTrack6(midiSequence, currentTrack, GuitarDifficulty.Expert))
{
fileErrors.Add(currentTrackName + " Failed to set track ");
continue;
}
var metaNames = currentTrack.Meta.Where(x => x.MetaType == MetaType.TrackName).ToList();
if (!metaNames.Any())
{
fileErrors.Add("Contains Invalid track with no name");
}
else if (metaNames.Count() > 1)
{
fileErrors.Add(metaNames.First().Text + " Contains Extra track names:");
foreach (var en in metaNames)
{
fileErrors.Add(en.Text);
}
}
foreach (var diff in Utility.GetDifficultyIter())
{
EditorPro.CurrentDifficulty = diff;
var chords = EditorPro.Messages.Chords.ToList();
if (!chords.Any())
{
fileErrors.Add(currentTrackName + " No Chords Created !! " + diff);
continue;
}
if (diff.IsExpert())
//.........这里部分代码省略.........