查找通用列表的方法以搜索特定的星期几
Find method of Generic List to search specific Day of Week
我有一个 Generic List
个 CallDay 对象,每个 CallDay 对象都有 DayOfWeek List
我想查找 DayOfWeek
列表是否包含特定的一天。这是我的 C# 代码
public class CallDays
{
public CallDays();
public List<DayOfWeek> DayOWList { get; set; }
public bool EveryDayOfWeek { get; set; }
public bool PublicHoliday { get; set; }
}
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in CallDayList)
{
// Here I need to find whether item.DayOWList contains DayOfWeek which matches dayOfWeekToFind
item.DayOWList.Find
}
}
您可以使用 Linq
来查找包含它的第一个元素。所以,使用方法FirstOrDefault
,在表达式上找到它,你可以检查DayOWList
集合中是否有一个DayOfWeek
对象,例如:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
// find a object that contains the dayOfWeekToFind on the DayOWList collection
CallDays result = CallDayList.FirstOrDefault(x => x.DayOWList.Any(d => d == dayOfWeekToFind));
// you can use the result object here
}
如果您只想根据对象的 DayOWList 是否包含 dayOfWeekToFind 对所有 CallDays 对象执行某些操作,您可以这样做:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in callDayList)
{
if (item.DayOWList.Contains(dayOfWeekToFind))
{
// do something
}
}
}
或者你也可以这样做:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in CallDayList.Where(x => x.DayOWList.Contains(dayOfWeekToFind)))
{
// do something with the item
}
}
我有一个 Generic List
个 CallDay 对象,每个 CallDay 对象都有 DayOfWeek List
我想查找 DayOfWeek
列表是否包含特定的一天。这是我的 C# 代码
public class CallDays
{
public CallDays();
public List<DayOfWeek> DayOWList { get; set; }
public bool EveryDayOfWeek { get; set; }
public bool PublicHoliday { get; set; }
}
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in CallDayList)
{
// Here I need to find whether item.DayOWList contains DayOfWeek which matches dayOfWeekToFind
item.DayOWList.Find
}
}
您可以使用 Linq
来查找包含它的第一个元素。所以,使用方法FirstOrDefault
,在表达式上找到它,你可以检查DayOWList
集合中是否有一个DayOfWeek
对象,例如:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
// find a object that contains the dayOfWeekToFind on the DayOWList collection
CallDays result = CallDayList.FirstOrDefault(x => x.DayOWList.Any(d => d == dayOfWeekToFind));
// you can use the result object here
}
如果您只想根据对象的 DayOWList 是否包含 dayOfWeekToFind 对所有 CallDays 对象执行某些操作,您可以这样做:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in callDayList)
{
if (item.DayOWList.Contains(dayOfWeekToFind))
{
// do something
}
}
}
或者你也可以这样做:
private void IdentifyDay(List<CallDays> callDayList)
{
// Some condition to set DayOFWeek filter criteria
DayOfWeek dayOfWeekToFind = drInMemory.Start.DayOfWeek;
foreach (var item in CallDayList.Where(x => x.DayOWList.Contains(dayOfWeekToFind)))
{
// do something with the item
}
}