使用 Linq to C# 获取特定属性值

本文关键字:属性 获取 Linq to 使用 | 更新日期: 2023-09-27 18:37:13

我创建了一个具有如下属性的类

public class Dependencies
{
    public string issueID { get; set; }
    public string status { get; set; }
    public int dependencyCheck { get; set; }
}

现在,我创建了一个可以使用这些属性的方法。

private static void prepareIssuesList(string IssueKey, string JIRAtoken)
{
    Dependencies dpObj = new Dependencies();
    List<Dependencies> listObj = new List<Dependencies>();
    dpObj.issueID = IssueKey;
    dpObj.status = "open";
    dpObj.dependencyCheck = 0;
    listObj.Add(dpObj);
}

现在我的问题是,如何更改dependencyCheck属性值。prepareIssuesList()可以多次调用。所以我正在向依赖项类添加多个对象。在某些时间点,我想更改 dependencyCheck 属性值。如何做到这一点。我认为需要使用Linq to C#。有人对此有任何解决方案吗?

使用 Linq to C# 获取特定属性值

我会做一些事情:

public class Dependency
{
     public string IssueId { get; set; }
     public string Status { get; set; }
     public int DependencyCheck { get; set; }
}
public class DependencyManager
{
     public DependencyManager()
     {
          this.Dependencies = new List<Dependency>();
     }         
     public List<Dependency> Dependencies { get; private set; }
     public void AddDependency(string issueId)
     {
         var dep = new Dependency();
         dep.IssueId = issueId;
         dep.Status = "open";
         dep.DependencyCheck = 0;
         this.Dependencies.Add(dep);
     }
     public void SetDependencyCheck(string issueId, int value)
     {
         var dep = this.FindDependencyByIssueId(issueId);
         dep.DependencyCheck = value;
     }
     public Dependency FindDependencyByIssueId(string issueId)
     {
         var dep = this.Dependencies.FirstOrDefault(d => d.IssueId.Equals(issueId));
         if(dep == null) throw new ArgumentException("Dependency not found", "issueId");
         return dep;
     }
}

然后在代码中的某个地方你可以做:

var mgr = new DependencyManager();
mgr.AddDependency("ABC123");
mgr.AddDependency("ABC456");
//... some other stuff that makes sense
mgr.SetDependecyCheck("ABC123", 42);