小编Rad*_*Rad的帖子

在LINQ查询中使用按位运算

鉴于以下枚举

[Flags]
public enum Trans{
Purchase =1,
Sale=2,
All  = Purchase | Sale
};
Run Code Online (Sandbox Code Playgroud)

以下课程

public class Person
{
public string Name;
public Trans TransType;
}
Run Code Online (Sandbox Code Playgroud)

以及以下数据结构

var people = new List<Person>();
people.Add(new Person {Name="James", TransType = Trans.Purchase});
people.Add(new Person {Name="Nancy", TransType = Trans.Sale});
people.Add(new Person {Name="Heather", TransType = Trans.All});
people.Add(new Person {Name="Duane", TransType = Trans.All});
Run Code Online (Sandbox Code Playgroud)

我正在尝试查询符合某些条件的人的列表.

为所有人提供Trans.Purchase(詹姆斯,希瑟和杜安)

var query = from p in people where ( (p.TransType & Trans.Purchase) == Trans.Purchase) select p;
Run Code Online (Sandbox Code Playgroud)

让Trans.Sale(Nancy,Heather&Duane)的所有人

var query = from p …
Run Code Online (Sandbox Code Playgroud)

bitwise-operators

5
推荐指数
1
解决办法
3515
查看次数

标签 统计

bitwise-operators ×1