【问题标题】:Values are not added to a List when using Append [duplicate]使用附加时,值不会添加到列表中[重复]
【发布时间】:2021-07-23 18:25:32
【问题描述】:

我遇到了一个用作列表对象来存储信息的类的问题。 我的问题取决于方法 .Add 不起作用,您可以在帖子末尾看到它。

对 account.email 的引用是一个不同的类,与此无关。

class AccountsLinksStatus
    {
        public string account { get; set; }
        public string link { get; set; }
        public List<int> actions
        {
            get; set;
        }

        public List<int> likes
        {
            get; set;
        }

    }

这是我存储列表值的另一个类

namespace Modules.Storage
{
    static class Statistics
    {

        public static List<Modules.Storage.AccountsLinksStatus> accountLinksStatistics;

    }
}

我稍后会像这样实例化它

var act = new List<int> { song };
var defaultValue = new List<int> { 0 };
Modules.accountLinksStatistics.Add(Storage.AccountsLinksStatus { account = Accounts.email, link = link, actions = act, likes = defaultValue });

到目前为止,一切似乎都正常,但是每当我尝试添加一个值时,它都不会添加任何东西。

var stats = Modules.Storage.Statistics.accountLinksStatistics;
var linkStat = stats.FirstOrDefault(t => t.account == Accounts.email && t.link == link);
linkStat.likes.Append(1);

没有出现错误异常,所以我真的不知道出了什么问题。

【问题讨论】:

  • 你怎么知道它没有添加任何东西?
  • Gongas,对于未来的问题,请查看minimal reproducible example 向帖子添加代码的指导。在这种特殊情况下,问题中的大部分代码都是不相关的——唯一重要的是var likes = new List&lt;int&gt;();likes.Append(1);(这可能会让你自己找到答案)

标签: c# c#-4.0


【解决方案1】:

Append 方法将一个项目添加到返回的集合中,并且不修改当前集合,而 Add 将其添加到当前集合中。

改为:

linkStat.likes.Add(1);

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 2017-04-16
    • 1970-01-01
    • 2013-06-18
    • 2015-08-05
    • 2013-12-30
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多