【问题标题】:How to assign a value to a List<string> inside a model如何为模型内的 List<string> 赋值
【发布时间】:2017-01-03 02:22:06
【问题描述】:

我的模型是这样的

public class MovieListModel
{        
    public int Id { get; set; }
    public List<string> FilePathList { get; set; }
    public string FileName { get; set; }
    public string Extension { get; set; }
    public string Size { get; set; }
    public DateTime CreatedTime { get; set; }
    public DateTime ModifiedTime { get; set; }
}

我需要为上述模型添加赋值,但问题是将值添加到模型内部的字符串列表 List FilePathList。我需要这样的东西,

var obj = new MovieListModel()
 {
    FileName = fi.Name,
    FilePathList = , //  Need to add value here.
    Count = 1,
    Extension = fi.Extension,
    Size = Helper.FormatBytes(fi.Length),
    CreatedTime = fi.CreationTime,
    ModifiedTime = File.GetLastWriteTime(item)
};
movieList.Add(obj);

【问题讨论】:

标签: c# .net


【解决方案1】:

这是一种方式:

var obj = new MovieListModel()
{
    FileName = fi.Name,
    FilePathList = new List<string>() { "Value" }, //  Need to add value here.
    Count = 1,
    Extension = fi.Extension,
    Size = Helper.FormatBytes(fi.Length),
    CreatedTime = fi.CreationTime,
    ModifiedTime = File.GetLastWriteTime(item)
};
movieList.Add(obj);

可能有更好的方法,具体取决于您添加的内容。

【讨论】:

    【解决方案2】:
    var obj = new MovieListModel()
                {
                    FileName = fi.Name,
                    FilePathList = new List<string> {
                        // Add value here
                    },
                    Count = 1,
                    Extension = fi.Extension,
                    Size = Helper.FormatBytes(fi.Length),
                    CreatedTime = fi.CreationTime,
                    ModifiedTime = File.GetLastWriteTime(item)
                };
    

    【讨论】:

      【解决方案3】:

      这是你需要的吗

      var obj = new MovieListModel()
                      {
                          FileName = fi.Name,
                          FilePathList = new List<string>(){ obj, whatever...},
                          Count = 1,
                          Extension = fi.Extension,
                          Size = Helper.FormatBytes(fi.Length),
                          CreatedTime = fi.CreationTime,
                          ModifiedTime = File.GetLastWriteTime(item)
                      };
      

      【讨论】:

        【解决方案4】:

        试试这样。通过创建一个函数,您将能够向它传递任意数量的参数,并获得所需的输出 -

        var obj = new MovieListModel()
                    {
                        FileName = fi.Name,
                        FilePathList = MapMyStrings(fi.prop1, fi.prop2),
                        Count = 1,
                        Extension = fi.Extension,
                        Size = Helper.FormatBytes(fi.Length),
                        CreatedTime = fi.CreationTime,
                        ModifiedTime = File.GetLastWriteTime(item)
                    };
        
        List<string> MapMyStrings(params string[] objs){
             if(!objs.Length > 0) return null;
             return objs.ToList();
        }
        

        【讨论】:

          【解决方案5】:

          我知道以上答案回答了您的问题,但我只是想向您展示这一点,以防您希望放入该列表的内容不是文字字符串(因此以防您需要转换)

          var obj = new MovieListModel()
          {
              FileName = fi.Name,
              FilePathList = new List<string> { "Test", "Test1", fi.CreatedTime.ToString() /* use of .ToString() to convert other objects to string*/} /* and so on and so on */, 
              Count = 1,
              Extension = fi.Extension,
              Size = Helper.FormatBytes(fi.Length),
              CreatedTime = fi.CreationTime,
              ModifiedTime = File.GetLastWriteTime(item)
          };
          
          movieList.Add(obj);
          

          希望这会有所帮助!

          【讨论】:

            猜你喜欢
            • 2016-07-02
            • 2022-01-02
            • 2023-01-29
            • 1970-01-01
            • 2018-10-06
            • 2020-01-11
            • 2013-08-26
            • 2022-01-06
            • 1970-01-01
            相关资源
            最近更新 更多