将数据集筛选为两部分
本文关键字:两部分 筛选 数据集 | 更新日期: 2023-09-27 18:35:07
伙计们,我有一个包含以下信息的数据集:
UserID int,document nvarchar(100)
我知道数据集将包含属于两个用户的数据的信息,例如,数据将包含用户ID为1或2。现在我想过滤数据集两次。首先,我希望包含用户ID的所有行都为1,其次,我希望所有行都包含UserID为2。但是UserId是动态的。这已确认数据将仅针对两个用户。现在我的问题是如何过滤这些数据。
你想按特定的creteria过滤列表吗?
假设您有结构体用户:
struct User
{
int id;
string document;
public int Id
{
get { return id; }
}
public string Document
{
get { return document; }
}
public User(int id, string document)
{
this.id = id;
this.document = document;
}
}
因此,您可以使用 LINQ 像这样筛选数据:
User[] data = new User[] {
new User(1, "first"),
new User(1, "second"),
new User(1, "third"),
new User(2, "first"),
new User(2, "second"),
new User(2, "third"),
};
//Get all data with userID = 1
User[] userID1 = data.Where(user => user.Id == 1).ToArray();
//Get all data with userID = 2
User[] userID2 = data.Where(user => user.Id == 2).ToArray();
如果这不是您的问题,请说明您的问题。
编辑:
如果您不知道数据集中的哪些 ID,则可以按用户 ID 对数据进行分组:
var userData = data.GroupBy(user => user.Id).ToArray();
foreach (var item in userData)
{
var arr = item.ToArray();
}