示例#1
0
        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();
        }
示例#2
0
        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);
            }
        }