伙计我有一个包含以下信息的数据集:
UserID int,document nvarchar(100)
我知道数据集将包含属于两个用户的数据的信息,例如,数据将包含userID为1或2.现在我想要过滤数据集两次。首先,我希望包含userID的所有行为1,其次我希望所有包含UserID的行为2.But UserId是动态的。这已确认数据仅适用于两个用户。现在我的问题是如何过滤这些数据。
答案 0 :(得分:0)
您是否希望按特定科目过滤列表?
假设你有结构用户:
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();
}