コード例 #1
0
        static void Main(string[] args)
        {
            try
            {
                StreamReader             csvreader  = new StreamReader(@"C:\Users\***\exhibitA-input.csv");
                HashSet <MusicStreaming> streamList = new HashSet <MusicStreaming>();
                string inputLine = "";

                MusicStreaming ms = null;
                DateTime       end;
                DateTime       start = DateTime.Now;
                while ((inputLine = csvreader.ReadLine()) != null)
                {
                    ms = new MusicStreaming();
                    string[] values = inputLine.Split(new char[] { '\t' });
                    if (values[3].Contains("10/08/2016"))
                    {
                        ms.PLAY_ID   = values[0];
                        ms.CLIENT_ID = Convert.ToInt32(values[2]);
                        ms.SONG_ID   = Convert.ToInt32(values[1]);
                        ms.PLAY_TS   = Convert.ToDateTime(values[3]);

                        streamList.Add(ms);
                        ms = null;
                    }
                }

                end = DateTime.Now;
                string s = (end - start).ToString();    //time elapsed loading excel to hashset

                var clientByDistinctSong = streamList
                                           .GroupBy(l => l.CLIENT_ID)
                                           .Select(g => new
                {
                    CLIENT_ID = g.Key,
                    Count     = g.Select(l => l.SONG_ID).Distinct().Count()
                });

                var desired = clientByDistinctSong
                              .GroupBy(l => l.Count)
                              .Select(g => new
                {
                    DISTINCT_PLAY_COUNT = g.Key,
                    CLIENT_COUNT        = g.Count()
                });

                var buffer = new StringBuilder();
                buffer.AppendLine("DISTINCT_PLAY_COUNT,CLIENT_COUNT");
                desired.ToList().ForEach(item => buffer.AppendLine(String.Format("{0},\t {1}", item.DISTINCT_PLAY_COUNT, item.CLIENT_COUNT)));
                File.WriteAllText(@"C: \Users\***\exhibitA-output.txt", buffer.ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
コード例 #2
0
 private static void DisposeMusic()
 {
     for (int i = 0; i < Main.music.Length; i++)
     {
         MusicStreaming music = Main.music[i] as MusicStreaming;
         if (music != null)
         {
             if (i < Main.maxMusic)
             {
                 Main.music[i] = Main.soundBank.GetCue("Music_" + i);
             }
             else
             {
                 Main.music[i] = null;
             }
             music.Stop(AudioStopOptions.Immediate);
             music.Dispose();
         }
     }
 }