如何在 C# 中获取子列表
我有一个 List
我需要从这个列表中取出一个子列表。 .NET 3.5 中有可用的 List 方法吗?
I have a List<String>
and i need to take a sublist out of this list. Is there any methods of List available for this in .NET 3.5?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(6)
听你说爱我2024-08-17 23:40:50
使用 LINQ:
List<string> l = new List<string> { "1", "2", "3" ,"4","5"};
List<string> l2 = l.Skip(1).Take(2).ToList();
如果您需要 foreach,则不需要 ToList:
foreach (string s in l.Skip(1).Take(2)){}
LINQ 的优点是,如果您只想跳过某些前导元素,您可以:
List<string> l2 = l.Skip(1).ToList();
foreach (string s in l.Skip(1)){}
即无需考虑计数/长度等。
一袭水袖舞倾城2024-08-17 23:40:50
使用 LINQ 中的Where子句:
List<object> x = new List<object>();
x.Add("A");
x.Add("B");
x.Add("C");
x.Add("D");
x.Add("B");
var z = x.Where(p => p == "A");
z = x.Where(p => p == "B");
在上面的语句中,“p”是列表中的对象。因此,如果您使用数据对象,即:
public class Client
{
public string Name { get; set; }
}
那么您的 linq 将如下所示:
List<Client> x = new List<Client>();
x.Add(new Client() { Name = "A" });
x.Add(new Client() { Name = "B" });
x.Add(new Client() { Name = "C" });
x.Add(new Client() { Name = "D" });
x.Add(new Client() { Name = "B" });
var z = x.Where(p => p.Name == "A");
z = x.Where(p => p.Name == "B");
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您想要
List::GetRange (firstIndex,计数)
。这就是你所追求的吗?
如果您想从原始列表中删除子列表项,您可以执行以下操作:
You want
List::GetRange(firstIndex, count)
.Is that what you're after?
If you're looking to delete the sublist items from the original list, you can then do: