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


C# IReadOnlyList.Take方法代码示例

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


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

示例1: CreateItem

 public override Actuator CreateItem(LegacyMapBuilder context, Tile currentTile, IReadOnlyList<ActuatorItemData> matchedSequence)
 {
     return new SwitchSequenceActuator(
         context.GetWallPosition(matchedSequence[0].TilePosition, context.WallActuatorCreator.CurrentTile),
         matchedSequence.Take(matchedSequence.Count - 1).Select(context.GetTargetTile),
         matchedSequence.Take(matchedSequence.Count - 1).Select(x => x.GetActionStateX()))
     {
         UpTexture = context.WallTextures[matchedSequence[0].Decoration - 1],
         DownTexture = context.WallTextures[matchedSequence[1].Decoration - 1]
     };
 }
开发者ID:ggrrin,项目名称:DungeonMaster,代码行数:11,代码来源:TimerMultiSwitchFactory.cs

示例2: RemoveTrailingEmptyLines

 private static List<string> RemoveTrailingEmptyLines(IReadOnlyList<string> lines)
 {
     var end = lines.Count - 1;
     while (end >= 0 && string.IsNullOrWhiteSpace(lines[end]))
     {
         end--;
     }
     return lines.Take(end + 1).ToList();
 }
开发者ID:gep13,项目名称:bootstrapper,代码行数:9,代码来源:GitIgnorePatcher.cs

示例3: HttpFileSystemBasedFindPackageByIdResource

        public HttpFileSystemBasedFindPackageByIdResource(IReadOnlyList<Uri> baseUris)
        {
            if (baseUris == null)
            {
                throw new ArgumentNullException(nameof(baseUris));
            }

            if (baseUris.Count < 1)
            {
                throw new ArgumentException(Strings.OneOrMoreUrisMustBeSpecified, nameof(baseUris));
            }

            _baseUris = baseUris
                .Take(MaxRetries)
                .Select(uri => uri.OriginalString.EndsWith("/", StringComparison.Ordinal) ? uri : new Uri(uri.OriginalString + "/"))
                .ToList();
            _httpSource = new HttpSource(_baseUris[0], userName: null, password: null);
        }
开发者ID:eerhardt,项目名称:NuGet3,代码行数:18,代码来源:HttpFileSystemBasedFindPackageByIdResource.cs

示例4: CombineSlices

        public Bitmap CombineSlices(IReadOnlyList<Bitmap> slices, int slicesPerImage)
        {
            var sliceImages = slices.Take(50).Shuffle().Take(slicesPerImage).ToArray();
             var orderedSliceImages = sliceImages.OrderBy(sliceImage => {
            var grayscaleImage = grayscaleFilter.Apply(sliceImage);
            return new HorizontalIntensityStatistics(grayscaleImage).Gray.TotalCount;
             }).ToList();
             var shuffledSliceImages = thumbnailGeneratorUtilities.HalfShuffle(orderedSliceImages);

             var sliceSize = sliceImages.First().Size;
             var resultImage = new Bitmap(sliceSize.Width * slicesPerImage, sliceSize.Height);
             using (var g = Graphics.FromImage(resultImage)) {
            for (var i = 0; i < slicesPerImage; i++) {
               g.DrawImage(
                  shuffledSliceImages[i],
                  new Rectangle(i * sliceSize.Width, 0, sliceSize.Width, sliceSize.Height),
                  new Rectangle(0, 0, sliceSize.Width, sliceSize.Height),
                  GraphicsUnit.Pixel);
            }
             }
             return resultImage;
        }
开发者ID:ItzWarty,项目名称:the-dargon-project,代码行数:22,代码来源:SliceCombiner.cs

示例5: ParseArguments

        private Tuple<Uri, string> ParseArguments(CommandContext context, IReadOnlyList<string> args)
        {
            if (args.Count == 0)
            {
                return new Tuple<Uri, string>(null, null);
            }

            var lastArgument = ParseUri(args[args.Count - 1]);

            Uri imageUrl = null;
            string message;

            if (lastArgument != null)
            {
                imageUrl = lastArgument;
                message = args.Count > 1 ? String.Join(" ", args.Take(args.Count - 1)) : null;
            }
            else
            {
                message = String.Join(" ", args);
            }

            return new Tuple<Uri, string>(imageUrl, message);
        }
开发者ID:Widdershin,项目名称:vox,代码行数:24,代码来源:KickCommand.cs

示例6: CreateProcessedRequests

 private static IReadOnlyList<WriteRequest> CreateProcessedRequests(IReadOnlyList<WriteRequest> requests, IReadOnlyList<BulkWriteOperationError> writeErrors, bool isOrdered)
 {
     if (!isOrdered || writeErrors.Count == 0)
     {
         return requests;
     }
     else
     {
         var processedCount = writeErrors.Max(e => e.Index) + 1;
         return requests.Take(processedCount).ToList();
     }
 }
开发者ID:narutoswj,项目名称:mongo-csharp-driver,代码行数:12,代码来源:BulkWriteBatchResult.cs

示例7: Execute

 public IEnumerable<IDocument> Execute(IReadOnlyList<IDocument> inputs, IExecutionContext context)
 {
     return inputs.Take(_x);
 }
开发者ID:ibebbs,项目名称:Wyam,代码行数:4,代码来源:Take.cs

示例8: GetSourceFiles

        // The assembly info must be in the last minus 1 position because:
        // - assemblyInfo should be in the end to override attributes
        // - assemblyInfo cannot be in the last position, because last file contains the main
        private static IEnumerable<string> GetSourceFiles(IReadOnlyList<string> sourceFiles, string assemblyInfo)
        {
            if (!sourceFiles.Any())
            {
                yield return assemblyInfo;
                yield break;
            }

            foreach (var s in sourceFiles.Take(sourceFiles.Count() - 1))
                yield return s;

            yield return assemblyInfo;

            yield return sourceFiles.Last();
        }
开发者ID:krytarowski,项目名称:cli,代码行数:18,代码来源:Program.cs

示例9: CreatePreviewElement

        private FrameworkElement CreatePreviewElement(IReadOnlyList<object> previewItems)
        {
            if (previewItems == null || previewItems.Count == 0)
            {
                return null;
            }

            const int MaxItems = 3;
            if (previewItems.Count > MaxItems)
            {
                previewItems = previewItems.Take(MaxItems).Concat("...").ToList();
            }

            var grid = new Grid();

            foreach (var previewItem in previewItems)
            {
                var previewElement = GetPreviewElement(previewItem);

                // no preview element
                if (previewElement == null)
                {
                    continue;
                }

                // the very first preview
                if (grid.RowDefinitions.Count == 0)
                {
                    grid.RowDefinitions.Add(new RowDefinition());
                }
                else
                {
                    grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
                }

                // set row position of the element
                Grid.SetRow(previewElement, grid.RowDefinitions.Count - 1);

                // add the element to the grid
                grid.Children.Add(previewElement);

                // set width of the grid same as the first element
                if (grid.Children.Count == 1)
                {
                    grid.Width = previewElement.Width;
                }
            }

            if (grid.Children.Count == 0)
            {
                // no preview
                return null;
            }

            // if there is only 1 item, just take preview element as it is without grid
            if (grid.Children.Count == 1)
            {
                var preview = grid.Children[0];

                // we need to take it out from visual tree
                grid.Children.Clear();

                return (FrameworkElement)preview;
            }

            return grid;
        }
开发者ID:CAPCHIK,项目名称:roslyn,代码行数:67,代码来源:PreviewPane.xaml.cs

示例10: CreatePreviewElement

        private FrameworkElement CreatePreviewElement(IReadOnlyList<object> previewItems)
        {
            if (previewItems == null || previewItems.Count == 0)
            {
                return null;
            }

            const int MaxItems = 3;
            if (previewItems.Count > MaxItems)
            {
                previewItems = previewItems.Take(MaxItems).Concat("...").ToList();
            }

            var grid = new Grid();

            for (var i = 0; i < previewItems.Count; i++)
            {
                var previewItem = previewItems[i];

                FrameworkElement previewElement = null;
                if (previewItem is IWpfDifferenceViewer)
                {
                    _previewDiffViewer = (IWpfDifferenceViewer)previewItem;
                    previewElement = _previewDiffViewer.VisualElement;
                    PreviewDockPanel.Background = _previewDiffViewer.InlineView.Background;
                }
                else if (previewItem is string)
                {
                    previewElement = GetPreviewForString((string)previewItem);
                }
                else if (previewItem is FrameworkElement)
                {
                    previewElement = (FrameworkElement)previewItem;
                }

                var rowDefinition = i == 0 ? new RowDefinition() : new RowDefinition() { Height = GridLength.Auto };
                grid.RowDefinitions.Add(rowDefinition);

                Grid.SetRow(previewElement, grid.RowDefinitions.IndexOf(rowDefinition));
                grid.Children.Add(previewElement);

                if (i == 0)
                {
                    grid.Width = previewElement.Width;
                }
            }

            var preview = grid.Children.Count == 0 ? (FrameworkElement)grid.Children[0] : grid;
            return preview;
        }
开发者ID:RoryVL,项目名称:roslyn,代码行数:50,代码来源:PreviewPane.xaml.cs

示例11: VisitColumnDeclarations

		protected virtual IReadOnlyList<SqlColumnDeclaration> VisitColumnDeclarations(IReadOnlyList<SqlColumnDeclaration> columns)
		{
			var i = 0;
			List<SqlColumnDeclaration> alternate = null;

			foreach (var column in columns)
			{
				var e = this.Visit(column.Expression);

				if (alternate == null && e != column.Expression)
				{
					alternate = columns.Take(i).ToList();
				}

				alternate?.Add(new SqlColumnDeclaration(column.Name, e));

				i++;
			}

			return alternate != null ? alternate.ToReadOnlyCollection() : columns;
		}
开发者ID:crazle,项目名称:Shaolinq,代码行数:21,代码来源:SqlExpressionVisitor.cs

示例12: VisitColumnDeclarations

        protected virtual IReadOnlyList<SqlColumnDeclaration> VisitColumnDeclarations(IReadOnlyList<SqlColumnDeclaration> columns)
        {
            List<SqlColumnDeclaration> alternate = null;

            for (int i = 0, n = columns.Count; i < n; i++)
            {
                var column = columns[i];
                var e = this.Visit(column.Expression);

                if (alternate == null && e != column.Expression)
                {
                    alternate = columns.Take(i).ToList();
                }

                if (alternate != null)
                {
                    alternate.Add(new SqlColumnDeclaration(column.Name, e));
                }
            }

            if (alternate != null)
            {
                return alternate.ToReadOnlyList();
            }

            return columns;
        }
开发者ID:ciker,项目名称:Shaolinq,代码行数:27,代码来源:SqlExpressionVisitor.cs

示例13: Execute

        public IEnumerable<IDocument> Execute(IReadOnlyList<IDocument> inputs, IExecutionContext context)
        {
            // Get the feed
            Feed feed = new Feed
            {
                ID = _feedId?.Invoke<Uri>(context),
                Title = _feedTitle?.Invoke<string>(context),
                Description = _feedDescription?.Invoke<string>(context),
                Author = _feedAuthor?.Invoke<string>(context),
                Published = _feedPublished?.Invoke<DateTime?>(context),
                Updated = _feedUpdated?.Invoke<DateTime?>(context),
                Link = _feedLink?.Invoke<Uri>(context),
                ImageLink = _feedImageLink?.Invoke<Uri>(context),
                Copyright = _feedCopyright?.Invoke<string>(context)
            };

            // Add items
            foreach (IDocument input in inputs.Take(_maximumItems))
            {
                feed.Items.Add(new FeedItem
                {
                    ID = _itemId?.Invoke<Uri>(input, context),
                    Title = _itemTitle?.Invoke<string>(input, context),
                    Description = _itemDescription?.Invoke<string>(input, context),
                    Author = _itemAuthor?.Invoke<string>(input, context),
                    Published = _itemPublished?.Invoke<DateTime?>(input, context),
                    Updated = _itemUpdated?.Invoke<DateTime?>(input, context),
                    Link = _itemLink?.Invoke<Uri>(input, context),
                    ImageLink = _itemImageLink?.Invoke<Uri>(input, context),
                    Content = _itemContent?.Invoke<string>(input, context),
                    ThreadLink = _itemThreadLink?.Invoke<Uri>(input, context),
                    ThreadCount = _itemThreadCount?.Invoke<int?>(input, context),
                    ThreadUpdated = _itemThreadUpdated?.Invoke<DateTime?>(input, context)
                });
            }

            // Generate the feeds
            return new[]
            {
                GenerateFeed(FeedType.Rss, feed, _rssPath, context),
                GenerateFeed(FeedType.Atom, feed, _atomPath, context),
                GenerateFeed(FeedType.Rdf, feed, _rdfPath, context)
            }.Where(x => x != null);
        }
开发者ID:ibebbs,项目名称:Wyam,代码行数:44,代码来源:GenerateFeeds.cs


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