我有以下列表-
public class edgeData
{
public string source { get; set; }
public string target { get; set; }
}
var edgeList = new List<edgeData>();
var linkCount = 1;
当源总和小于或等于edgeData
时,我想从edgeList
中删除linkCount
条目。
例如建立我的edgeData-
var newEdge = new edgeData();
newEdge.source = "James";
newEdge.target = 1;
edgeList.Add(newEdge);
var newEdge = new edgeData();
newEdge.source = "Greg";
newEdge.target = 2;
edgeList.Add(newEdge);
var newEdge = new edgeData();
newEdge.source = "James";
newEdge.target = 3;
edgeList.Add(newEdge);
然后执行删除小于或等于linkCount
-的条目的过程>
public List<edgeData> RemoveLinks(List<edgeData>() edgeList, int linkCount) { var updatedEdgeData = new List<edgeData>(); // logic return updatedEdgeData; }
因此,在该示例中,包含“ Greg”作为源的条目将被删除,因为他只发生了一次,该次数等于linkCount。
我尝试过使用for循环执行此操作,但是很快就变得非常丑陋,并且相信Linq是最好的选择,但是我该如何实现呢?
我有以下列表-公共类edgeData {公共字符串源{get;组; }公共字符串目标{get;组; }} var edgeList = new List
您可以执行以下操作
[基本上只是计算名称的出现,然后在列表上循环并删除您不喜欢的名称(连接不足)
当源共同出现的次数小于或等于linkCount时,我想从edgeList中删除edgeData条目。