如何解决如何使用LINQ语句过滤掉与另一个列表中的单词匹配的项?
我正在尝试获取对象属性的列表,除了少数几个(匹配几个字符串且为空的字符串),默认列表如下:
我已经过滤掉了为空的属性,现在我想使用LINQ过滤掉“ TypeId”,“ SubTypeId”,“ TypeDescription”和“ SubTypeDescription”,因此我创建了一个列表:
List<string> standardProperties = new List<string> { "TypeId","TypeDescription","SubTypeId","SubTypeDescription" };
我的Linq查询看起来像这样的atm:
Report reportProperties = item.First();
List<string> standardProperties = new List<string> { "TypeId","SubTypeDescription" };
@foreach (var prop in typeof(Report).GetProperties().Where(x => x.GetValue(reportProperties) != null))
{
<GridColumn Field="@prop.Name" AllowEditing="@prop.CanWrite"></GridColumn>
}
有人知道如何实现吗?
谢谢
解决方法
因此,您有一个deck = {i:suit[:] for i in range(1,4)}
类。此类具有零个或多个属性,并且您需要Report
类的所有PropertyInfos
,但属性Report
的{{1}}除外。
当然,您可以使用字符串检查属性的名称。这样的问题是,您只会在运行时检测到错误。最好在propertyInfos上进行比较:
PropertyInfos
优点:如果有人更改了属性之一的名称,则将在编译时而不是在运行时检测到问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。