选择具有相同属性和不同属性的对象

时间:2014-01-22 13:31:26

标签: c# .net linq

一个Transaction包含TransactionMembers列表。此列表始终包含两个项目。

一个TransactionMemberTransactionRole类型RoleEnum RoleEnum只有两个值(管理员和编辑者)

我想选择具有相同交易和角色RoleEnum.Admin

的交易成员

内部方法我将transactionmember作为参数

public static Transaction SetTransaction(Transaction t, TransactionMember tm)
{
   if(tm.Role == TransactionMember.RoleEnum.Editor)
   { 
      ...
   }
   else
   {
      TransactionMember admin = (from t.Members.Where(x=>x.Transaction))
   }
}

1 个答案:

答案 0 :(得分:1)

试试这个:

 TransactionMember admin = t.Members.FirstOrDefault(x => x.Transaction.Equals(t) 
                                                      && x.Role == RoleEnum.Admin));

如果您知道最多只有一名管理员,请使用SingleOrDefault代替FirstOrDefault

如果您知道应该只有一个管理员(不是0或多于1),请使用Single代替FirstOrDefault