C#如何将元素添加到列表 ?

问题描述 投票:0回答:3

如何将元素电影添加到现有类别元素?目前,我只能在两个字段上创建新的列表条目。

class MovieSolver
    {
        public string Category { get; set; }
        public List<string> Movie { get; set; }
    }
class CreateMovieList
    {
        readonly static List<MovieSolver> playerTargetList = new List<MovieSolver>();

        public static void MovieCBO()
        {
            playerTargetList.Add(new MovieSolver { Category = "Action", Movie = new List<string> { "Taken", "The Factory", "Wind River" } });
            playerTargetList.Add(new MovieSolver { Category = "Comedy", Movie = new List<string> { "Gold", "Hangover", "We are the Millers" } });
            playerTargetList.Add(new MovieSolver { Category = "Thriller", Movie = new List<string> { "Jack Reacher", "Real Steel", "Iron Man I" } });
        }
    }

此外,还有一种更聪明的方法来创建class MovieSolver

c# list add
3个回答
1
投票

首先,我根本无法在此处找到int列表。

如果要在MoveiSolver对象的列表中添加新的字符串对象,则首先要找到Moviesolver对象,然后再添加新的字符串元素。

您可以使用for循环,foreach循环或LINQ进行此操作。

foreach通常对于新程序员来说是最容易理解的。

Foreach item in playerTargetList
{
 if(item.category == "Action")
 {
  item.Movie.add("lorum ipsum");
 }
}

0
投票

您可以将方法addMovie添加到类CreateMovieList中,该方法将验证MovieSolver是否还不存在,并在必要时进行创建]]

public static void addMovie(String category, String movie) 
{
    var movieSolver = playerTargetList.Find(e => e.Category == category);
    if(movieSolver != null) 
    {
        var existingMovie = movieSolver.Movie.Find( e => e == movie);
        if (existingMovie == null)
            movieSolver.Movie.Add(movie);
    }
    else
        playerTargetList.Add(new MovieSolver  { Category = category, Movie = new List<string> { movie } }); 
}

0
投票

为什么不在这里使用像Dictionary<string, List<string>>这样的默认类?

© www.soinside.com 2019 - 2024. All rights reserved.