本文整理汇总了C#中System.Collections.Generic.Dictionary.Remove方法的典型用法代码示例。如果您正苦于以下问题:C# System.Collections.Generic.Dictionary.Remove方法的具体用法?C# System.Collections.Generic.Dictionary.Remove怎么用?C# System.Collections.Generic.Dictionary.Remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Generic.Dictionary
的用法示例。
在下文中一共展示了System.Collections.Generic.Dictionary.Remove方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: stitchUnRestrictedSubCalendarEvent
//.........这里部分代码省略.........
{
eachmTuple.Item1 = true;
RestrictedBusySlots.Add(eachmTuple.Item2.ActiveSlot);
string timeSpanString = eachmTuple.Item2.ActiveDuration.Ticks.ToString();
string SubEventID = eachmTuple.Item2.ID;
}
FreeBoundary.AddBusySlots(RestrictedBusySlots.ToArray());
List<SubCalendarEvent> LowestCostArrangement = new System.Collections.Generic.List<SubCalendarEvent>();
TimeLine PertinentFreeSpot = null;
TimeLine FreeSpotUpdated = null;
j = i + 1;
if (ListOfFrontPartialsStartTime.Count > 0)//fits any sub calEvent in preceeding restricting free spot
{
DateTime RestrictedStopper = restrictedSnugFitAvailable[i].Item2.Start;
bool breakForLoop = false;
bool PreserveRestrictedIndex = false;
for (; FrontPartialCounter < ListOfFrontPartialsStartTime.Count; FrontPartialCounter++)
{
TimeLineUpdated = null;
DateTime PertinentFreeSpotStart = EarliestReferenceTIme;
DateTime PertinentFreeSpotEnd;
if (CompleteArranegement.Count == 46)
{
;
}
if ((ListOfFrontPartialsStartTime[FrontPartialCounter] < RestrictedStopper))
{
PertinentFreeSpotEnd = ListOfFrontPartialsStartTime[FrontPartialCounter];
//FrontPartials_Dict.Remove(ListOfFrontPartialsStartTime[FrontPartialCounter]);
ListOfFrontPartialsStartTime.RemoveAt(FrontPartialCounter);
--FrontPartialCounter;
PreserveRestrictedIndex = true;
}
else
{
PertinentFreeSpotEnd = RestrictedStopper;
if (breakForLoop)
{//populates with final boundary for each restricted
PertinentFreeSpot = new TimeLine(PertinentFreeSpotStart, PertinentFreeSpotEnd);
BorderElementBeginning = CompleteArranegement.Count>0?CompleteArranegement[CompleteArranegement.Count-1]:null;//Checks if Complete arrangement has partially being filled. Sets Last elements as boundary Element
BorderElementEnd = restrictedSnugFitAvailable[i].Item2;//uses restricted value as boundary element
LowestCostArrangement = OptimizeArrangeOfSubCalEvent(PertinentFreeSpot, new Tuple<SubCalendarEvent, SubCalendarEvent>(BorderElementBeginning, BorderElementEnd), CompatibleWithList.Values.ToList(), PossibleEntries_Cpy,Occupancy);
DateTime EarliestTimeForBetterEarlierReferenceTime = PertinentFreeSpot.Start;
LastSubCalElementForEarlierReferenceTime = ((CompleteArranegement.Count < 1) || (CompleteArranegement == null) ? null : CompleteArranegement[CompleteArranegement.Count - 1]);
FreeSpotUpdated = PertinentFreeSpot.CreateCopy();
if (LowestCostArrangement.Count > 0)
{
if (!(LowestCostArrangement[0].getCalendarEventRange.Start == PertinentFreeSpot.Start))//Pin SubEvents To Start
{//if the first element is not a partial Sub Cal Event element
FreeSpotUpdated = new TimeLine(EarliestReferenceTIme, PertinentFreeSpot.End);
Utility.PinSubEventsToStart(LowestCostArrangement, FreeSpotUpdated);
}
else
{
FreeSpotUpdated = PertinentFreeSpot.CreateCopy();// new TimeLine(LowestCostArrangement[0].getCalendarEventRange.Start, PertinentFreeSpot.End);
Utility.PinSubEventsToStart(LowestCostArrangement, PertinentFreeSpot);
}
EarliestReferenceTIme = PertinentFreeSpot.End;// LowestCostArrangement[LowestCostArrangement.Count - 1].End;
SubCalendarEvent LastSubCalEvent = LowestCostArrangement[LowestCostArrangement.Count - 1];
示例2: BuildAllPossibleSnugLists
//.........这里部分代码省略.........
List<List<SubCalendarEvent>> restrictedSubCaleventsAfterScheduleUpdate = new List<List<SubCalendarEvent>>();
Dictionary<TimeLine, Dictionary<TimeSpan, Dictionary<string, mTuple<bool, SubCalendarEvent>>>> copyOfPossibleEvents = createCopyOfPossibleEvents(Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents);
foreach (KeyValuePair<TimeLine, Dictionary<TimeSpan, Dictionary<string, mTuple<bool, SubCalendarEvent>>>> eachKeyValuePair in Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents)
{
List<mTuple<bool, SubCalendarEvent>> var16 = Dict_ConstrainedList[eachKeyValuePair.Key];
List<BusyTimeLine> RestrictedBusySlots = new System.Collections.Generic.List<BusyTimeLine>();
foreach (mTuple<bool, SubCalendarEvent> eachmTuple in var16)
{
eachmTuple.Item1 = true;
RestrictedBusySlots.Add(eachmTuple.Item2.ActiveSlot);
TimeSpan ActiveTimespan1 = eachmTuple.Item2.ActiveDuration;
string SubEventID = eachmTuple.Item2.ID;
eachKeyValuePair.Value[ActiveTimespan1][SubEventID] = eachmTuple;
}
eachKeyValuePair.Key.AddBusySlots(RestrictedBusySlots.ToArray());
if (i0 == 3|| i0 == 12)
{
;
}
List<mTuple<bool, SubCalendarEvent>> ArrangedElements = stitchUnRestrictedSubCalendarEvent(eachKeyValuePair.Key, var16, Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents[eachKeyValuePair.Key], AverageMatched[i0],Occupancy);
foreach (TimeLine eachTimeLine in JustFreeSpots)
{
foreach (mTuple<bool, SubCalendarEvent> eachmTuple in ArrangedElements)
{
TimeSpan ActiveTimeSpan0 = eachmTuple.Item2.ActiveDuration;
if (Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents[eachTimeLine].ContainsKey(ActiveTimeSpan0))
{
Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents[eachTimeLine][ActiveTimeSpan0].Remove(eachmTuple.Item2.ID);
}
}
}
/*
if (i0 + 1 < Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents.Count)
{
Dictionary<TimeLine, Dictionary<string, Dictionary<string, mTuple<bool, SubCalendarEvent>>>> test = Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents;
ArrangedElements = FurtherFillTimeLineWithSubCalEvents(ArrangedElements, JustFreeSpots[i0 + 1], AveragedMatchAsDictWithTimeLine, eachKeyValuePair.Key, test);
foreach (KeyValuePair<string, mTuple<int, TimeSpanWithStringID>> eachKeyValuePair0 in AveragedMatchAsDictWithTimeLine[eachKeyValuePair.Key])
{
if (AveragedMatchAsDictWithTimeLine[JustFreeSpots[i0 + 1]].ContainsKey(eachKeyValuePair0.Key))
{
AveragedMatchAsDictWithTimeLine[JustFreeSpots[i0 + 1]][eachKeyValuePair0.Key].Item1 += eachKeyValuePair0.Value.Item1;
}
else
{
AveragedMatchAsDictWithTimeLine[JustFreeSpots[i0 + 1]].Add(eachKeyValuePair0.Key, new mTuple<int, TimeSpanWithStringID>(eachKeyValuePair0.Value));
}
}
}*/
foreach (TimeLine eachTimeLine in JustFreeSpots)
{
foreach (mTuple<bool, SubCalendarEvent> eachmTuple in ArrangedElements)
{
TimeSpan ActiveTimeSpan2 = eachmTuple.Item2.ActiveDuration;
if (Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents[eachTimeLine].ContainsKey(ActiveTimeSpan2))
{
Dict_TimeLine_Dict_StringID_Dict_SubEventStringID_mTuple_Bool_MatchinfSubCalevents[eachTimeLine][ActiveTimeSpan2].Remove(eachmTuple.Item2.ID);
}