标签: take

Array.Copy vs Skip and take in c#

我正在浏览这个问题和一些类似的问题:

从现有阵列获取子阵列

很多地方我都读到这样的答案:

从现有阵列获取子阵列

我想知道为什么Skip和Take不是数组的恒定时间操作?

反过来,如果它们是常量时间操作,那么Skip和Take方法(最后没有调用ToArray())是否具有相同的运行时间而没有执行Array.Copy的开销,而且空间效率更高?

c# arrays copy skip take

5
推荐指数
1
解决办法
7815
查看次数

我有一些LINQ表达式问题,OrderBy(),Skip(),Take()工作不正确

我有LINQ表达式

var a = ctx.EntitySet
        .OrderByDescending(t => t.Property)
        .Skip(pageIndex * size) 
        .Take(size);
Run Code Online (Sandbox Code Playgroud)

OrderBy()应该在Skip()和Take()之前调用,但最后会进行排序.我可以解决这个问题吗?

对不起,很多人都不明白我的问题.查询运行没有任何错误,但我想要

//It is I want
1) Sorting ALL data
2) Use Skip() and Take()
Run Code Online (Sandbox Code Playgroud)

如果我喜欢我的例子,我得到的结果是:1)Skip()2)Take()3)仅排序元素!

linq skip sql-order-by take

5
推荐指数
1
解决办法
2898
查看次数

使用Android拍摄的问题(垂直相机|人像)

以下代码显示了垂直摄像头的预览,它的工作原理..但是!我在风景中得到了一张照片!:(

我如何垂直构建它?我在垂直方向上有预览视图,但我无法垂直保存图片.

问候和感谢,弗兰

ONCLICK

public void onClick(View arg0) {
       camera.takePicture(myShutterCallback, myPictureCallback_RAW, myPictureCallback_JPG);
}
Run Code Online (Sandbox Code Playgroud)

预习

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
        int height) {
    if (previewing) {
        camera.stopPreview();
        previewing = false;
    }
    if (camera != null) {
        /*
         * camera.setPreviewDisplay(surfaceHolder); camera.startPreview();
         * previewing = true;
         */
        Camera.Parameters parameters = camera.getParameters();
        parameters.setPreviewSize(width, height);
        camera.setParameters(parameters);

        // Condicions per utilitzar la orientacio adecuada segons el sdk
        if (Integer.parseInt(Build.VERSION.SDK) >= 8)
            setDisplayOrientation(camera, 90);
        else {
            if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
                parameters.set("orientation", "portrait"); …
Run Code Online (Sandbox Code Playgroud)

android portrait photo take

4
推荐指数
1
解决办法
1万
查看次数

如何获得总结果数.Take() - 但是在使用时.Take()

我正在使用.Take()来获得固定数量的结果.

得到的最佳方式是什么TotalCountBeforeTake(即好像我没有使用.Take())?

我可以在TotalCountBeforeTake没有运行查询两次的情况下获得吗?

        var Results = (from results in db.FindWords(term)
                       orderby results.word
                       select results.word).Take(100);

        //just to get the total record count
        int TotalCountBeforeTake = (from results in db.FindWords(term)
                            select results.word).Count();

        // only showing 100 out of TotalCountBeforeTake results,
        // but in order to know the TotalCountBeforeTake I had to run the query twice.
        foreach (var result in Results)
        {
            Console.Write(result.ToString());
        }
Run Code Online (Sandbox Code Playgroud)

c# linq take

4
推荐指数
1
解决办法
1995
查看次数

错误?Seq.take 10效果很好,Seq.take 100不起作用

let a = [1;2;3;]

for i in (a |> Seq.take 10) do Console.WriteLine(i)
for i in (a |> Seq.take 100) do Console.WriteLine(i)
Run Code Online (Sandbox Code Playgroud)

第一行效果很好,但第二行给出错误:输入序列的元素数量不足.

是的,没有100个元素,它们只有3个,但为什么10个作品呢?

在线测试

毕竟它适用于C#

using System;
using System.Linq;

class P
{ static void Main() {

 var p = new[] {1,2,3,4};

 foreach(var i in p.Take(10).ToArray()) Console.WriteLine(i);
 foreach(var i in p.Take(2).ToArray()) Console.WriteLine(i);
 foreach(var i in p.Take(100).ToArray()) Console.WriteLine(i);
}}
Run Code Online (Sandbox Code Playgroud)

在线测试

f# sequence take

3
推荐指数
2
解决办法
405
查看次数

实体框架加入

我正在使用实体框架4.0,我的查询语法有些问题.我正在尝试连接2个表并传递一个参数来同时查找该值.我想通过查找表1中的相关值来查找表2中的所有产品.

有人可以帮我解决语法问题吗?

提前致谢.

样本数据

表格1

ID  productID   categoryID  
361 571         16  
362 572         17  
363 573         16  
364 574         19  
365 575         26
Run Code Online (Sandbox Code Playgroud)

表2

productID   productCode

571     sku

572     sku

573     sku

574     sku

575     sku 




var q = from i in context.table1
                            from it in context.table2
                            join <not sure> 
                            where i.categoryID == it.categoryID and < parameter >
                          select e).Skip(value).Take(value));

                    foreach (var g in q)
                    {
                        Response.Write(g.productID);
                    }
Run Code Online (Sandbox Code Playgroud)

join skip entity-framework-4 take

3
推荐指数
1
解决办法
1万
查看次数

了解LINQ的Where/Take的基本原理

我有一个List<String> myList.

我想把这个列表中的前10个项目与某些标准相匹配(.Contains("a")例如,让我们说).

我有:

Var results = myList.Where(o=>o.Contains("a")).Take(10);
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但LINQ执行了Where检索满足此条件的所有项目,然后只采取了前10个?或者这将以整个LINQ语句被考虑的方式编译(即它将执行Where但只到达到10项)?

c# linq performance loops take

3
推荐指数
1
解决办法
805
查看次数

使用Take()从字节数组中获取字节,在Take()之后转换回byte []时遇到问题

byte[] result = memStream.ToArray();                              
memStream.Close();
byte[] temp = result.Take(255);
var str = System.Text.Encoding.Default.GetString(temp);
Run Code Online (Sandbox Code Playgroud)

上面的失败就result.Take(255);行了.它说我不能转换IEnumerablebyte[],并询问如果我错过了一个演员.

我是C#的新手,不确定该怎么做.

c# take

3
推荐指数
1
解决办法
1841
查看次数

Laravel 5.2 中对有限记录使用分页

我正在尝试对 12 条记录使用分页方法。我需要 12 个结果,其中前 6 个结果位于第一页,其余 6 个结果位于第二页。我在控制器中使用了以下代码,

$collection = User::take(12)->whereHas('roles', function($q) {
            $q->where('slug', 'member');

        }
        )->where('status','1')->OrderBy('last_login','desc');
Run Code Online (Sandbox Code Playgroud)

我使用 take() 获取 12 条记录,并使用 paginate(6) 在一页中显示 6 个结果,如下所示,

$collection = $collection->paginate(6);
return View('preferred_matches')->with(array('collection'=>$collection));
Run Code Online (Sandbox Code Playgroud)

在我看来,我给出了这样的链接,

{{ $collection->links() }}
Run Code Online (Sandbox Code Playgroud)

但 take(12) 不起作用。每页显示 6 个结果,但显示的结果超过 12 个。如何使用有限的记录进行分页。提前致谢。

pagination take laravel-5

3
推荐指数
1
解决办法
5115
查看次数

取不功能:Angular 7 | Observable.take引发运行时错误

我正在构建购物车,并且使用了购物车服务,在该服务中,我将数量分配给产品/将产品添加到购物车。除了使用take获取可观察项$的第一个实例外,还有其他方法吗?

我正确导入了take运算符,但它始终给我运行时错误。如果我不使用take,那么分配的数量是一些随机整数而不是1。

我在以下代码中的可观察值上使用take()时遇到以下错误:

import { Injectable } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { Product } from '../app/models/product';
import 'rxjs/add/operator/take';//tried this one too
import { take } from 'rxjs-compat/operator/take';

@Injectable({
  providedIn: 'root'
})
export class ShoppingCartService {

  constructor(private db: AngularFireDatabase) { }

  private create() {
    return this.db.list('/shopping-carts').push({
      dateCreated: new Date().getTime()
    });
  }


  private getCart(cartId: string) {
    return this.db.object('/shopping-carts/' + cartId);
  }
  private async getOrCreateCartId() {
    let cartId = localStorage.getItem('cartId');
    if (cartId) return cartId;

    let result = await …
Run Code Online (Sandbox Code Playgroud)

runtime-error take typescript angularfire2 angular

3
推荐指数
1
解决办法
1488
查看次数