繁体   English   中英

从对象集合列表中获取属性值

[英]get property value from object collection list

我想使用对象集合的属性之一从对象集合中获取值属性。

使用Linq什么是SupplierSettingsList上的查询

public class SupplierSettings
{
    private string Key;
    private SupplierSettingsPropertyEnum property;
    private string Value;
}

List<SupplierSettings> SupplierSettingsList =new List<SupplierSettingsDto>();

SupplierSettingsList .Add
(new SupplierSettings{Key="1",property=SupplierSettingsPropertyEnum.Name,Value="Name"});

SupplierSettingsList .Add
(new SupplierSettings{Key="2",property=SupplierSettingsPropertyEnum.StartTime,Value="7PM"});

SupplierSettingsList .Add
(new SupplierSettings{Key="3",property=SupplierSettingsPropertyEnum.EndTime,Value="10PM"});

SupplierSettingsList .Add
(new SupplierSettings{Key="4",property=SupplierSettingsPropertyEnum.Interval,Value="45"});

您在寻找以下东西吗

var SupplierSettingsVales = SupplierSettings.
Where(x=>x.property==SupplierSettingsPropertyEnum.Interval)
    .Select(x=>x.Value);

它可以写成

var results = from o in SupplierSettingsList
              where o.property == SupplierSettingsPropertyEnum.Interval
              select o.Value;

您还可以在C: drive C:\\Program Files\\Microsoft Visual Studio 9.0\\Samples\\1033中找到该LINQ Query samples ,该CSharpSamples.zip解压缩并生成位于LinqSamples文件夹中的项目。

var value = SupplierSettings
  .Where(x=>x.property==SupplierSettingsPropertyEnum.Interval)
  .Select(x=>x.Value);
  .FirstOrDefault();

这是您要执行的操作:

var query =
    from ss in SupplierSettingsList
    where ss.property == SupplierSettingsPropertyEnum.Interval
    select ss.Value;

我对您的SupplierSettings有点怀疑,因为这似乎不是OOP的很好例子。 最好考虑一下对象设计,而不是解决此查询。 只是一个建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM