C# 搜索项目列表并使用LINQ获取整个条目
我有一个C# 搜索项目列表并使用LINQ获取整个条目,c#,linq,list,C#,Linq,List,我有一个列表,其中包含很多if条目,元素名为Segment、startX、startY、endX、endY。 问题是:当我有某个段时,我想在列表中搜索它,当我找到它时,复制整个条目,包括段、startx、starty。。添加到新列表。如果可能的话,我想使用LINQ表达式 类来添加条目: public class Coord { public string Segment { get; set; } public double startX { get; set; } pu
列表
,其中包含很多if条目,元素名为Segment、startX、startY、endX、endY。
问题是:当我有某个段时,我想在列表中搜索它,当我找到它时,复制整个条目,包括段、startx、starty
。。添加到新列表。如果可能的话,我想使用LINQ表达式
类来添加条目:
public class Coord
{
public string Segment { get; set; }
public double startX { get; set; }
public double startY { get; set; }
public double endX { get; set; }
public double endY { get; set; }
public string Naziv { get; set; }
}
因此,如果我有一个特定的segmet值,我想在列表中搜索它,当我找到它时,将相应的坐标和线段(整个索引)复制到一个新的列表中,你可以使用以下代码:
string lookedSegment = ...
List<Coord> newList = originalList.Where((c) => c.Segment == lookedSegment).ToList();
List<Coord> newList = originalList.Where((c) => c.Segment = lookedSegment)
.Select((c) => new Coord {
Segment = c.Segment,
startX = c.startX,
startY = c.startY,
endX = c.endX,
endY = c.endY,
Naziv = c.Naziv
})
.ToList();
string lookedSegment=。。。
List newList=originalList.Where((c)=>c.Segment==lookedSegment.ToList();
上面的代码将创建一个包含当前条目的新列表,如果需要新条目,可以使用以下代码克隆它们:
string lookedSegment = ...
List<Coord> newList = originalList.Where((c) => c.Segment == lookedSegment).ToList();
List<Coord> newList = originalList.Where((c) => c.Segment = lookedSegment)
.Select((c) => new Coord {
Segment = c.Segment,
startX = c.startX,
startY = c.startY,
endX = c.endX,
endY = c.endY,
Naziv = c.Naziv
})
.ToList();
List newList=originalList.Where((c)=>c.Segment=lookedSegment)
.选择((c)=>新坐标{
段=c.段,
startX=c.startX,
startY=c.startY,
endX=c.endX,
endY=c.endY,
纳齐夫=c.纳齐夫
})
.ToList();
您可以使用以下代码:
string lookedSegment = ...
List<Coord> newList = originalList.Where((c) => c.Segment == lookedSegment).ToList();
List<Coord> newList = originalList.Where((c) => c.Segment = lookedSegment)
.Select((c) => new Coord {
Segment = c.Segment,
startX = c.startX,
startY = c.startY,
endX = c.endX,
endY = c.endY,
Naziv = c.Naziv
})
.ToList();
string lookedSegment=。。。
List newList=originalList.Where((c)=>c.Segment==lookedSegment.ToList();
上面的代码将创建一个包含当前条目的新列表,如果需要新条目,可以使用以下代码克隆它们:
string lookedSegment = ...
List<Coord> newList = originalList.Where((c) => c.Segment == lookedSegment).ToList();
List<Coord> newList = originalList.Where((c) => c.Segment = lookedSegment)
.Select((c) => new Coord {
Segment = c.Segment,
startX = c.startX,
startY = c.startY,
endX = c.endX,
endY = c.endY,
Naziv = c.Naziv
})
.ToList();
List newList=originalList.Where((c)=>c.Segment=lookedSegment)
.选择((c)=>新坐标{
段=c.段,
startX=c.startX,
startY=c.startY,
endX=c.endX,
endY=c.endY,
纳齐夫=c.纳齐夫
})
.ToList();
给定一根坐标针和一根列出草堆
,你会做var myNewList=haystack.Where(c->c.Segment==needle.Segment).ToList()
给定一根坐标针和一根列出草堆
,你会做var myNewList=haystack.Where(c->c.Segment==needle.Segment).ToList()
我们不知道你的意思。什么东西、什么‘条目’、什么‘元素’、什么是‘段’的列表。显示一个简单的示例如果没有至少一些显示元素或条目外观的代码,这是不容易描述的。@pm100添加了代码。我们不知道你的意思。什么东西、什么‘条目’、什么‘元素’、什么是‘段’的列表。显示一个简单的示例如果没有至少一些显示元素或条目外观的代码,这是不容易描述的。@pm100添加了代码。