コード例 #1
0
        public int Compare(film movie1, film movie2)
        {
            int comp = 0;

            foreach (var actor1 in movie1.Actors.Split("\n"))
            {
                foreach (var actor2 in movie2.Actors.Split("\n"))
                {
                    if (actor1 == actor2)
                    {
                        comp++;
                    }
                }
            }

            if (movie1.director == movie2.director)
            {
                comp = comp + 3;
            }

            foreach (var tag1 in movie1.Tags.Split("\n"))
            {
                foreach (var tag2 in movie2.Tags.Split("\n"))
                {
                    if (tag1 == tag2)
                    {
                        comp = comp + 2;
                    }
                }
            }
            return(comp);
        }
コード例 #2
0
        public void GetRec(film mov)
        {
            var sortinglist = new List <(int, String, String)>();

            //var ourlist = new List<film>();


            foreach (var movie in ActorTagfilmList(mov.name))
            {
                foreach (var film in Dict.movies)
                {
                    if (film.name == movie)
                    {
                        //ourlist.Add(film);
                        sortinglist.Add((Compare(mov, film), film.TMBD, film.name));
                    }
                }
            }

            sortinglist.Sort(Comparer <(int, String, String)> .Create(new Comparison <(int, String, String)>((x, y) => y.Item1 - x.Item1)));
            for (int j = 0, i = 0; i < 10 && j < sortinglist.Count; ++j)
            {
                if (sortinglist[j].Item2 != null && sortinglist[j].Item2 != "")
                {
                    mov.Recomended = mov.Recomended + sortinglist[i].Item2 + "\t";
                    ++i;
                }
            }
        }
コード例 #3
0
ファイル: Dictionaries.cs プロジェクト: nushtosh/nazachet
        //public void tag(string line)
        //{
        //    string tagcode = tagname_tagcode[line];
        //    Console.WriteLine("фильмы: ");
        //    foreach (var movie in tagcode_movielist[tagcode])
        //    {
        //        string IMBD = ml_imdbcode[movie];
        //        Console.WriteLine(tagcode_moviename[IMBD]);
        //    }

        //}

        public void CreateMovies()
        {
            string ActID;
            string prof;
            string movielens;
            int    i = 0;
            ICollection <string> moviename = moviename_movietags.Keys;

            foreach (string s in moviename)
            {
                foreach (var IMBD in moviename_movietags[s])
                {
                    string actors = "";
                    string tags   = "";
                    film   clip   = new film();
                    clip.name = s;
                    clip.code = IMBD;
                    if (imdbrating.ContainsKey(IMBD))
                    {
                        clip.rating = imdbrating[IMBD];
                    }
                    if (movie_actorset.ContainsKey(IMBD))
                    {
                        foreach (var id in movie_actorset[IMBD])
                        {
                            ActID = id.first;
                            prof  = id.second;
                            if (actorcode_actorname.ContainsKey(ActID))
                            {
                                if (prof != "director")
                                {
                                    actors += actorcode_actorname[ActID] + "\t";
                                }
                                else
                                {
                                    clip.director = actorcode_actorname[ActID];
                                }
                            }
                        }
                    }
                    if (imdbcode_ml.ContainsKey(IMBD))
                    {
                        movielens = imdbcode_ml[IMBD];
                        if (moviecode_taglist.ContainsKey(movielens))
                        {
                            foreach (var tagid in moviecode_taglist[movielens])
                            {
                                tags += tagcode_tagname[tagid] + "\t";
                            }
                        }
                    }
                    clip.Actors = actors;
                    clip.Tags   = tags;
                    clip.id     = i;
                    i++;
                    movies.Add(clip);
                }
            }
            Console.WriteLine("filmdictionary done ");
        }