private static void TestIndexOfAndElementAt(Blockchain <string> philosopherSong) { Console.Out.WriteLine(); string[] philospohersSongLyrics = GetSongLyrics(); int[] randomizedIndexes = GetRandomizedIndexes(philospohersSongLyrics); foreach (var i in randomizedIndexes) { var lyricSought = philospohersSongLyrics[i]; var lyricIndex = philosopherSong.IndexOf(lyricSought); if (lyricIndex > ElementNotFound) { var lyricBlock = philosopherSong.ElementAt(lyricIndex); var trace = $" The lyric '{lyricBlock.Data}' was found " + $"at offset: [{lyricIndex.ToString()}]"; Console.Out.WriteLine(trace); } } Console.Out.WriteLine(); }
private static void ReverseTraceBlockchain(Blockchain <string> philosopherSong) { Console.Out.WriteLine(); var trace = "The data contnents of the Blockchain in reverse order:"; Console.Out.WriteLine(trace); int[] indexes = Enumerable.Range(0, philosopherSong.Count).OrderByDescending(i => i).ToArray(); foreach (var i in indexes) { var lyricBlock = philosopherSong.ElementAt(i); trace = $" Lyric Line [{i.ToString()}] - '{lyricBlock.Data}'"; Console.Out.WriteLine(trace); } }