当前位置: 首页>>代码示例>>C#>>正文


C# Collection.FirstOrDefault方法代码示例

本文整理汇总了C#中Collection.FirstOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# Collection.FirstOrDefault方法的具体用法?C# Collection.FirstOrDefault怎么用?C# Collection.FirstOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Collection的用法示例。


在下文中一共展示了Collection.FirstOrDefault方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FirstOrFirstDefault

 public void FirstOrFirstDefault()
 {
     ICollection<object> strings = new Collection<object>
                                   	{
                                   			"a",
                                   			"b",
                                   			"c"
                                   	};
     Assert.AreEqual("a", strings.FirstOrDefault(x => x.ToString().Equals("a", StringComparison.OrdinalIgnoreCase)));
     Assert.IsNull(strings.FirstOrDefault(x => x == null));
 }
开发者ID:vincentzh,项目名称:BeautySalonManagement,代码行数:11,代码来源:SampleTest.cs

示例2: SummateProducts

        private static Collection<ProductDetail> SummateProducts(IEnumerable<ProductDetail> productCollection)
        {
            //Create a new collection of products.
            Collection<ProductDetail> collection = new Collection<ProductDetail>();

            //Iterate through the supplied product collection.
            foreach (ProductDetail product in productCollection)
            {
                //Create a product
                ProductDetail productInCollection = null;

                if (collection.Count > 0)
                {
                    productInCollection = collection.FirstOrDefault(x => x.ItemCode == product.ItemCode && x.ItemName == product.ItemName && x.Unit == product.Unit && x.Price == product.Price && x.TaxCode == product.TaxCode);
                }

                if (productInCollection == null)
                {
                    collection.Add(product);
                }
                else
                {
                    productInCollection.Quantity += product.Quantity;
                    productInCollection.Amount += product.Amount;
                    productInCollection.Discount += product.Discount;
                    productInCollection.Subtotal += product.Subtotal;
                    productInCollection.ShippingCharge += product.ShippingCharge;
                    productInCollection.Tax += product.Tax;
                    productInCollection.Total += product.Total;
                }
            }

            return collection;
        }
开发者ID:JonathanValle,项目名称:mixerp,代码行数:34,代码来源:Session.cs

示例3: getField

        private static FieldInfo getField(string key, Collection<FieldInfo> fields)
        {            
            if (fields != null)
            {
                FieldInfo field = fields.FirstOrDefault<FieldInfo>(f => f.Name == key);
                if (field != null)
                    return field;
            }

            return null;
        }
开发者ID:yulifengwx,项目名称:arcgis-viewer-silverlight,代码行数:11,代码来源:ExportSelectionCommand.cs

示例4: GetTabResults

 public ITabResult GetTabResults(ITabQuery query)
 {
     IEnumerable<ITabResult> results = new Collection<ITabResult>();
     foreach(ITabHandler handler in this.tabHandlers){
         IEnumerable<ITabResult> handlerMatches = handler.GetTabResults(this.client, query);
         if (handlerMatches != null && handlerMatches.Count() > 0)
         {
             results = results.Concat(handlerMatches);
         }
     }
     return results.FirstOrDefault();
 }
开发者ID:SilentPenguin,项目名称:Skyscraper,代码行数:12,代码来源:TabComplete.cs

示例5: ScanSpecialNsAndSetIfNoPreviousValue

        private void ScanSpecialNsAndSetIfNoPreviousValue(Collection<AttributeAssignment> attributeAssignments)
        {
            if (specialPrefix != null)
            {
                return;
            }

            var attributeAssignment = attributeAssignments.FirstOrDefault(IsNsThatMatchesSpecialValue);
            if (attributeAssignment!=null)
            {
                specialPrefix = attributeAssignment.Locator.PropertyName;
            }
        }
开发者ID:modulexcite,项目名称:OmniXAML,代码行数:13,代码来源:AttributeParser.cs

示例6: FindPath

 public static List<Point> FindPath(int[,] field, Point start, Point goal)
 {
     //step 1
     var closedSet = new Collection<PathNode>();
     var openSet = new Collection<PathNode>();
     //step 2
     PathNode startNode = new PathNode()
     {
         Position = start,
         CameFrom = null,
         PathLengthFromStart = 0,
         HeuristicEstimatePathLength = GetHeuristicPathLength(start, goal)
     };
     openSet.Add(startNode);
     while (openSet.Count > 0)
     {
         //step 3
         var currentNode = openSet.OrderBy(node =>
           node.EstimateFullPathLength).First();
         //step 4.
         if (currentNode.Position == goal)
             return GetPathForNode(currentNode);
         //step 5.
         openSet.Remove(currentNode);
         closedSet.Add(currentNode);
         //step 6.
         foreach (var neighbourNode in GetNeighbours(currentNode, goal, field))
         {
             //step 7.
             if (closedSet.Count(node => node.Position == neighbourNode.Position) > 0)
                 continue;
             var openNode = openSet.FirstOrDefault(node =>
               node.Position == neighbourNode.Position);
             //step 8.
             if (openNode == null)
                 openSet.Add(neighbourNode);
             else
               if (openNode.PathLengthFromStart > neighbourNode.PathLengthFromStart)
             {
                 //step 9.
                 openNode.CameFrom = currentNode;
                 openNode.PathLengthFromStart = neighbourNode.PathLengthFromStart;
             }
         }
     }
     //step 10.
     return null;
 }
开发者ID:sword36,项目名称:town,代码行数:48,代码来源:PathNode.cs

示例7: FindPath

 public List<Cell> FindPath(GameField field, Cell start, Cell goal, Func<Cell, Cell, float> weightFunc = null)
 {
     var closedSet = new Collection<PathNode>();
     var openSet = new Collection<PathNode>();
     PathNode startNode = new PathNode()
     {
         Position = start,
         CameFrom = null,
         PathLengthFromStart = 0,
         HeuristicEstimatePathLength = GetHeuristicPathLength(start, goal)
     };
     openSet.Add(startNode);
     while (openSet.Count > 0)
     {
         var currentNode = openSet.OrderBy(node =>
           node.EstimateFullPathLength).First();
         if (currentNode.Position == goal)
             return GetPathForNode(currentNode);
         openSet.Remove(currentNode);
         closedSet.Add(currentNode);
         foreach (var neighbourNode in GetNeighbours(currentNode, goal, field, weightFunc))
         {
             if (closedSet.Count(node => node.Position == neighbourNode.Position) > 0)
                 continue;
             var openNode = openSet.FirstOrDefault(node =>
               node.Position == neighbourNode.Position);
             if (openNode == null)
                 openSet.Add(neighbourNode);
             else
                 if (openNode.PathLengthFromStart > neighbourNode.PathLengthFromStart)
                 {
                     openNode.CameFrom = currentNode;
                     openNode.PathLengthFromStart = neighbourNode.PathLengthFromStart;
                 }
         }
     }
     return null;
 }
开发者ID:temik911,项目名称:audio,代码行数:38,代码来源:AStar.cs

示例8: UnionCallsAndFailedCallsData

        private Collection<CallsData> UnionCallsAndFailedCallsData(
            Collection<PerfCounterData> totalCallsPerfCounterDataCollection,
            Collection<PerfCounterData> failedCallsPerfCounterDataCollection)
        {
            Collection<CallsData> callsAndFailedCallsDataCollection =
                new Collection<CallsData>();
            foreach (PerfCounterData totalCallsPerfCounterData in totalCallsPerfCounterDataCollection)
            {
                PerfCounterData matchingFailedCallsPerfCounterData =
                    failedCallsPerfCounterDataCollection.FirstOrDefault(a => a.CounterName ==
                                                                             totalCallsPerfCounterData.CounterName);

                CallsData callsData = new CallsData();
                callsData.CounterName = totalCallsPerfCounterData.CounterName;
                callsData.FriendlyName = totalCallsPerfCounterData.FriendlyName;
                callsData.TotalCalls = totalCallsPerfCounterData.MaxValue;
                callsData.TotalFailedCalls = matchingFailedCallsPerfCounterData.MaxValue;
                callsData.PercentFailure = Math.Round(((Convert.ToDouble(callsData.TotalFailedCalls) /
                                                        Convert.ToDouble(callsData.TotalCalls)) * 100), 2);
                callsAndFailedCallsDataCollection.Add(callsData);
            }

            return callsAndFailedCallsDataCollection;
        }
开发者ID:silupher,项目名称:ChassisManager,代码行数:24,代码来源:CreateReport.cs

示例9: GenerateFilesButtonBase_OnClick

        public void GenerateFilesButtonBase_OnClick(object sender, RoutedEventArgs routedEventArgs)
        {
            if(string.IsNullOrEmpty(m_filePath))
            {
                return;
            }

            if (!Directory.Exists(m_filePath))
            {
                MessageBox.Show(string.Format("Path Does not exsist{0}", m_filePath),"Error",MessageBoxButton.OK,MessageBoxImage.Error);
            }

            Collection<Lag> lagCollection = new Collection<Lag>();
            foreach (var lag in LagKilde)
            {
                var nyttLag = new Lag(lag);
                lagCollection.Add(nyttLag);
            }

            foreach (var skive in Skiver)
            {
                var lagFunnet = lagCollection.FirstOrDefault(x => x.LagNummer == skive.LagNummer);

                var funnetSkive = lagFunnet.SkiverILaget.FirstOrDefault(x => x.SkiveNummer == skive.SkiveNummer);
                if (funnetSkive.Skytter != null)
                {
                    funnetSkive.Skytter = new Skytter(funnetSkive.Skytter);
                }

                funnetSkive.Free = funnetSkive.Free;
            }
            m_databaseService.StoreToDatabase(lagCollection, this.m_filePath);
        }
开发者ID:lnystad,项目名称:OrionFelt,代码行数:33,代码来源:LagOppsettViewModel.cs

示例10: EnsureAxes

        public override void EnsureAxes(Collection<IAxis> axes, IAxis defaultXAxis, IAxis defaultYAxis)
        {
            if (this.XAxisKey != null)
            {
                this.XAxis = axes.FirstOrDefault(a => a.Key == this.XAxisKey);
            }

            if (this.YAxisKey != null)
            {
                this.YAxis = axes.FirstOrDefault(a => a.Key == this.YAxisKey);
            }

            // If axes are not found, use the default axes
            if (this.XAxis == null)
            {
                this.XAxis = defaultXAxis;
            }

            if (this.YAxis == null)
            {
                this.YAxis = defaultYAxis;
            }
        }
开发者ID:AndrewTPohlmann,项目名称:open-hardware-monitor,代码行数:23,代码来源:PlotSeriesBase.cs

示例11: InitializeTypefaceList

        /// <summary>
        /// Gets the typefaces available for the selected font. 
        /// </summary>
        /// <remarks>BoldSimulated and ObliqueSimulated font styles are filtered out of this collection. ArcGIS Pro does not render these styles.</remarks>
        private void InitializeTypefaceList()
        {
            FontFamily family = new FontFamily();
            if (SelectedFontFamily != null)
                family = SelectedFontFamily.Font;
            if (family != null)
            {
                ICollection<Typeface> faceCollection = family.GetTypefaces(); //family is a FontFamily object

                List<TypefaceListItem> items = new List<TypefaceListItem>();


                foreach (Typeface face in faceCollection)
                {
                    if ((face.IsBoldSimulated) || (face.IsObliqueSimulated)) 
                        continue;
                    items.Add(new TypefaceListItem(face));
                }

                items.Sort();

                TypeFaceCollection = new Collection<TypefaceListItem>(items);
                SelectedTypeFace = TypeFaceCollection.FirstOrDefault();

            }
        }
开发者ID:ChaitG,项目名称:arcgis-pro-sdk-community-samples,代码行数:30,代码来源:Construct_MarkerViewModel.cs

示例12: GetTableIndexes

        private static IEnumerable<DataIndexDbDefinition> GetTableIndexes(ITableDefinition table, string prefix)
        {
            const char EscapeCharacter = '!';

            using (var ctx = GetRuntimeDatabaseConnectionManager())
            {
                var commandText = string.Format(CultureInfo.InvariantCulture, @"
SELECT
     ind.name as IndexName
    ,t.name	as ProcessName
    ,ind.filter_definition as FilterDefinition
    ,col.name as FieldName
    ,ic.is_included_column as IsIncluded
FROM
    sys.indexes ind
    INNER JOIN sys.index_columns ic ON  ind.object_id = ic.object_id and ind.index_id = ic.index_id
    INNER JOIN sys.columns col ON ic.object_id = col.object_id and ic.column_id = col.column_id
    INNER JOIN sys.tables t ON ind.object_id = t.object_id  AND ind.name LIKE '{0}%' ESCAPE '{1}'
WHERE ind.object_id = (SELECT OBJECT_ID(@tableName))
ORDER BY ind.name, ic.key_ordinal", AdoHelper.EscapeLikePattern(prefix, EscapeCharacter), EscapeCharacter);

                using (var command = new SqlCommand(commandText, ctx.Connection))
                {
                    command.Parameters.AddWithValue("@tableName", table.Name);

                    using (var reader = new SafeDataReader(command.ExecuteReader()))
                    {
                        var indexList = new Collection<DataIndexDbDefinition>();

                        while (reader.Read())
                        {
                            var indexName = reader.GetString(0);
                            var processName = reader.GetString(1);
                            var index = indexList.FirstOrDefault(ix => ix.IndexName == indexName && ix.ProcessName == processName);

                            if (index == null)
                            {
                                index = new DataIndexDbDefinition { IndexName = indexName, ProcessName = processName, FilterDefinition = reader.GetString(2) };
                                indexList.Add(index);
                            }

                            var fieldName = reader.GetString(3);
                            var included = reader.GetBoolean(4);

                            index.IndexFields.Add(new DataIndexFieldDbDefinition(fieldName, !included));
                        }

                        return indexList;
                    }
                }
            }
        }
开发者ID:mparsin,项目名称:Elements,代码行数:52,代码来源:SqlServerDatabaseGenerator.cs

示例13: ParseOffer

        private static void ParseOffer(Collection<Mapping.Offer> offers, Product product)
        {
            var offer = offers.FirstOrDefault();
            if (offer != null)
            {
                // quantity
                product.Stock = offer.Quantity;

                // offerlistingid
                product.Listing = offer.ListingID;

                var price = offer.BuyingPrice;
                if (price != null)
                {
                    // price
                    product.Price = price.Value;
                }

                price = offer.PreviouslyPublishedPrice;
                if (price != null)
                {
                    // price
                    product.PreviousPrice = price.Value;
                }
            }
        }
开发者ID:peterhholroyd,项目名称:fmg_dhc,代码行数:26,代码来源:Service.cs

示例14: NewMethod


//.........这里部分代码省略.........
                if (track != null && track.IsFull)
                {
                    track = null;
                }

                if (track == null)
                {
                    track = new Track();
                    allTracks.Add(track);
                }

                Talk currentTalk = queue.Dequeue();

                if (!track.MorningSession.IsFull())
                {
                    if (track.MorningSession.Talks.Count == 0)
                    {
                        currentTalk.Start = track.MorningSession.Start;
                        currentTalk.End = currentTalk.Start + currentTalk.Duration;
                        track.MorningSession.Talks.Add(currentTalk);
                    }
                    else
                    {
                        Talk lastTalkInTrack = track.MorningSession.Talks.Last();
                        currentTalk.Start = lastTalkInTrack.End;
                        currentTalk.End = currentTalk.Start + currentTalk.Duration;
                        if (track.MorningSession.IsValid(currentTalk))
                        {
                            track.MorningSession.Talks.Add(currentTalk);
                        }
                        else
                        {
                            if (mightNeedToBeRemovedTalk == null)
                            {
                                mightNeedToBeRemovedTalk = currentTalk;
                                currentTalk.Start = 0;
                                currentTalk.End = 0;
                                queue.Enqueue(currentTalk);
                                continue;
                            }

                            if (mightNeedToBeRemovedTalk == currentTalk)
                            {
                                Talk lastTalk = track.MorningSession.Talks.Last();
                                lastTalk.Start = 0;
                                lastTalk.End = 0;
                                track.MorningSession.Talks.RemoveAt(track.MorningSession.Talks.Count - 1);
                                queue.Enqueue(lastTalk);
                            }

                            currentTalk.Start = 0;
                            currentTalk.End = 0;
                            queue.Enqueue(currentTalk);
                        }
                    }
                }
                else
                {
                    if (track.AfternoonSession.Talks.Count == 0)
                    {
                        currentTalk.Start = track.AfternoonSession.Start;
                        currentTalk.End = currentTalk.Start + currentTalk.Duration;
                        track.AfternoonSession.Talks.Add(currentTalk);
                    }
                    else
                    {
                        Talk lastTalkInTrack = track.AfternoonSession.Talks.Last();
                        currentTalk.Start = lastTalkInTrack.End;
                        currentTalk.End = currentTalk.Start + currentTalk.Duration;
                        if (track.AfternoonSession.IsValid(currentTalk))
                        {
                            track.AfternoonSession.Talks.Add(currentTalk);
                        }
                        else
                        {
                            currentTalk.Start = 0;
                            currentTalk.End = 0;
                            queue.Enqueue(currentTalk);
                        }
                    }
                }
            }

            foreach (var item in allTalks)
            {
                if (item.IsLightning)
                    queue.Enqueue(item);
            }

            while (queue.Count > 0)
            {
                Talk currentTalk = queue.Dequeue();
                var currentTrack = allTracks.FirstOrDefault(t => !t.IsFull);
                currentTalk.Start = currentTrack.AfternoonSession.Talks.Last().End;
                currentTrack.AfternoonSession.Talks.Add(currentTalk);
                currentTrack.NetworkEvent.Start = 17;
            }

            return allTracks;
        }
开发者ID:schooloffish,项目名称:Practice,代码行数:101,代码来源:Program.cs

示例15: GetDistTile

 public static Tile GetDistTile(int X, int Y, int Z)
 {
     try
     {
         Collection<Tile> tiles = new Collection<Tile>();
         tiles = TilesFromScreen();
         return tiles.FirstOrDefault(t => t.LocationOnMap == new exTibia.Objects.Location(X, Y, Z));
     }
     catch (InvalidOperationException ex)
     {
         Helpers.Debug.Report(ex);
     }
     return null;
 }
开发者ID:PimentelM,项目名称:extibiabot,代码行数:14,代码来源:Tile.cs


注:本文中的Collection.FirstOrDefault方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。