using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Device.Entities; namespace Dlhis.ScheduledTask; public static class RecursionHelper { public static List HandlerDeviceGroupNextCodes(Guid current, List data) { var result = new List { current }; InternalHandlerCodes(current, data, result); return result; static void InternalHandlerCodes(Guid internalCurrent, List internalData, List internalResult) { var next = internalData.Where(x => x.PCode == internalCurrent); foreach (var item in next) { internalResult.Add(item.Code); InternalHandlerCodes(item.Code, internalData, internalResult); } } } }