我正在尝试根据以下条件过滤 C# 列表或数组中的记录 - 我们有唯一的发送者和多个接收者。 考虑 Sender 值为 1,
"secrets": [
{
"sender": 1,
"receiver": 2,
"time": 2000,
"val": "This is Val1"
},
{
"sender": 2,
"receiver": 1,
"time": 2100,
"val": "This is Val2"
},
{
"sender": 1,
"receiver": 2,
"time": 1500,
"val": "This is Val3"
},
{
"sender": 1,
"receiver": 3,
"time": 2500,
"val": "This is Val4"
}
]
输出:
"outcome": [
{
"sender": 2,
"receiver": 1,
"time": 2100,
"val": "This is Val2"
},
{
"sender": 1,
"receiver": 3,
"time": 2500,
"val": "This is Val4"
}
]
我在下面尝试过,但没有按预期工作:
int senderId = 1;
for(int i=0; i<receivers; i++)
{
var senderSecrets = secrets.Where(x => (x.sender == senderId) && (x.receiver == receivers[i])).ToArray();
var receiverSecrets = secrets.Where(x => (x.sender == receivers[i]) && (x.receiver == senderId)).ToArray();