我有以下用于选择最新的Preference对象的CreatedDate的代码。它使用FirstOrDefault
从首选项集合中选择一个首选项对象。使用FirstOrDefault指定条件(在方法链接方法中)
DateTime? latestPreferenceDate = preferences.FirstOrDefault()== null? null:(preferences.FirstOrDefault())。CreatedDate;
我们如何指定所选对象应该是具有最新创建日期的对象?此外,我需要选择对应于最近日期的对象来选择此对象的其他属性。
注:我在寻找一个method chaining
方法
CODE
class Program
{
static void Main()
{
Int16? test = null;
string val = Convert.ToString(test);
Collection<Preference> preferences = new Collection<Preference>();
Preference pref1 = new Preference();
pref1.CreatedDate = new DateTime(2011, 11, 11);
pref1.PreferenceCode = 1;
Preference pref2 = new Preference();
pref2.CreatedDate = new DateTime(2012, 12, 12);
pref2.PreferenceCode = 2;
preferences.Add(pref1);
preferences.Add(pref2);
DateTime? latestPreferenceDate = preferences.FirstOrDefault() == null ? null : (preferences.FirstOrDefault()).CreatedDate;
}
}
public class Preference
{
public DateTime? CreatedDate { get; set; }
public int PreferenceCode { get; set; }
}
参考:
- Using "where": Cannot convert lambda expression to type 'bool'
- .NET LINQ query syntax vs method chain
@Lijo,你必须先计算出最新的日期,然后拿到创纪录的反对。 – Habib
@Lijo,你只需要最新的日期?或者你想要的对象与最新的日期 – Habib