小编cas*_*One的帖子

LINQ查询性能与紧凑查询

在检查LINQ的能力时,我编写了简单的QuickSort实现,
很高兴最终快速排序功能适合一行.
但是我注意到这个"一行"功能的性能与我原来的"直接"版本有很大不同.

这是在循环中调用快速排序函数10次的代码:

var r = new Random(DateTime.Now.Millisecond);
Stopwatch watch = new Stopwatch();
for (int i = 0; i < 10; i++)
{
    watch.Reset();
    var randomA = new int[100].Select(x => r.Next(100)).ToList();

    watch.Start();                
    var sorted = QuickSort<int>(randomA);
    watch.Stop();

    Console.WriteLine("Duration: {0} ms", watch.ElapsedMilliseconds);
}

Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

两个QuickSort函数的实现与输出结果:

简单版本:

IEnumerable<T> QuickSort<T>(IEnumerable<T> a) where T : IComparable<T>
{
    if (a.Count() <= 1) return a;

    var pivot = a.First();
    IEnumerable<T> lesser = a.Skip(1).Where(x => x.CompareTo(pivot) < 0);
    IEnumerable<T> bigger = a.Skip(1).Where(x => x.CompareTo(pivot) >= 0); …
Run Code Online (Sandbox Code Playgroud)

linq performance quicksort

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

Javascript和jQuery中的可点击网格图像

我有一个图像(1000x1300像素),并希望用10x10像素单元格的网格覆盖它(所以这将是100x130像素).然后必须有一种方法来单击鼠标左键,在网格上移动"标记"底层网格单元格(即更改背景颜色).当时我在jQuery中有以下源代码

$(window).ready(function() {
    $("body").mousedown(function() { mstate = 1; }).mouseup(function() { 
        mstate = 0; 
    });
    var container = document.getElementById("grid");
    var divs = "";
    for (var y in grid) {
        divs += "<tr>";
        for (var x in grid[y]) {
            var class = "cellinactive";
            if (grid[y][x]==1) class = "cellactive";
            else if (grid[y][x]==2) class = "cellreserved";
            else if (grid[y][x]==3) class = "cellsold";
            divs += "<td class='" + class + "'>&nbsp;</td>";
        }
        divs += "</tr>";
    }
    divs = "<table>" + divs + "</table>";
    container.innerHTML = …
Run Code Online (Sandbox Code Playgroud)

javascript grid jquery overlay image

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

读取器关闭时无效尝试调用Read?

我正在运行DbDataReader查询以从下拉列表中删除项目,如果它们已经附加到特定提交,并且我一直收到错误,告诉我读者已关闭.无法理解为什么我的读者被视为关闭在这里.我错过了什么?

 protected void Page_Load(object sender, EventArgs e)
{

    string x = Request.QueryString["SubId"];
    string connectionString = System.Configuration.ConfigurationManager.
        ConnectionStrings["MyConnectionString"].ConnectionString;
    string displayQuery = "SELECT CustName, CustAdd, CustCity, CustState, " +
        "CustZip FROM Customer WHERE SubId =" + x;
    string broQuery = "SELECT EntityType FROM Broker WHERE SubId =" + x;
    string ddlQuery = "SELECT ProductId FROM SubmissionProducts " +
        "WHERE SubmissionId =" + x;
    using (SqlConnection displayConn = new SqlConnection(connectionString))
    {
        displayConn.Open();
        SqlCommand DlistCmd = new SqlCommand(ddlQuery, displayConn);

        using (SqlDataReader Ddldr …
Run Code Online (Sandbox Code Playgroud)

c# sql-server asp.net visual-studio

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

通过php在多个id中选择数据库中的表记录

我有一个名称是品牌的价值,像这样:

$brands = "1,2,3,4,5,";
Run Code Online (Sandbox Code Playgroud)

我可以将此值转换为:

$brands = "1,2,3,4,5";
Run Code Online (Sandbox Code Playgroud)

我想要从表中选择*的写源,其中id =每个品牌

例如 :

select * from brands where (id='1' or id='2' or id='3' or id='4' or id='5');
Run Code Online (Sandbox Code Playgroud)

1,2,3,4,5是可变的并且可以改变例如可以改为1,2,9,4,5,8

我怎么写这个?请帮助谢谢

php database select

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

从下拉列表中获取选定的值asp.net

我知道这是一个愚蠢的问题,但我无法找到如何从我的下拉列表中获取所选值的方法:(

初始化下拉列表:

             SqlCommand command = new SqlCommand("SelectAllUserID", connection);
             command.CommandType = CommandType.StoredProcedure;

            SqlDataReader sqlReader = command.ExecuteReader();
            if (sqlReader.HasRows)
            {
                TProjectMID.DataSource = sqlReader;
                TProjectMID.DataTextField = "UserID";
                TProjectMID.DataValueField = "UserID";
                TProjectMID.DataBind();
            }
Run Code Online (Sandbox Code Playgroud)

尝试获取下拉列表的值:

                String a;
                a = TProjectMID.SelectedValue;
                a = TProjectMID.SelectedItem.Value;
                a = TProjectMID.DataValueField;
                a = TProjectMID.Text;
Run Code Online (Sandbox Code Playgroud)

它没有返回我选择的值,而是在出现下拉列表时始终返回默认值?

谁能告诉我我做错了什么?谢谢

c# asp.net

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

位图不正确; 这怎么可能

我试图用C++代码分析车牌.重点不是如何快速实现目标,因为我想自己去创建这个C++代码并学习如何实现.

问题:

位图文件中的字节不加起来!位图文件: 在此输入图像描述 http://ictmdeklerk.nl/cor.bmp

为什么他们不加起来:

我正在使用24位位图图像(*.BMP文件).我知道位图是用BMPFILEHEADER和BMPINFOHEADER构建的,它占用了54个字节.

现在,图像宽1350像素,高740像素,产生999000像素.

因为文件是24位,所以每个像素有3个字节.图像需要999000*3 = 2997000字节.但是BMPINFOHEADER中的图像大小(biSizeImage)表示图像是2998480字节!文件大小为2.998.534字节 - 确实54个头字节= 2.998.480.所以标题仍然是54个字节.那里没有额外的元数据.当我每像素除2.998.480/3字节时,得到999493,33像素!它甚至不是一个圆形的数字!

这让我疯了.Windows如何知道如何在不移动像素或颜色或任何东西的情况下显示此图像?

谁能解释一下这些额外的像素/字节来自哪里?以及如何处理它们?

提前致谢!

bitmap filesize pixels image-size

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

比较LINQ中过去的日期

我必须编写一个LINQ语句,该语句查找项目在过去90天内出现在数据库中的次数.这很简单,但他们希望在1-30天,31-60天和61-90天内查看数据.

我目前正在做的是创建一个包含四组数据的模型,获取所有唯一SKU的列表,然后查找它们在数据库中出现的次数.

我的问题是日期范围.我正在创建新的DateTime对象并向他们添加NEGATIVE天,我正在尝试使用它来比较范围.我无法弄清楚怎么说这样的话:

编辑日期介于(-30天)和(-60天)之间.

我不能使用SP.必须有一个更简单的方法.也许使用时间跨度,看看它是否落在那个跨度?我不确定.我很少与约会合作.

c# linq datetime

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

设计,关于游戏的OOP

我正在建造一个小型视频游戏.我正在尝试做好oop/design.

我有一个地图对象和一个相机对象.这些都是在'world'对象中创建的.

但是有一个问题.在地图中,我渲染并更新所有内容.出于性能原因,我只想更新/渲染播放器屏幕上的内容.

相机对象具有此信息 - 但地图对象无法访问它.

我可以通过几种方式获取此信息,但希望获得有关如何执行此操作的选项.

java oop

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

.preventDefault()仅在第一次点击时工作

我有一个图像库,其中图像和图像下的上一个/下一个链接使用AJAX重新填充.当用户拥有JS(以便使用AJAX方法)时,我想阻止在这里工作的链接,但只有在第一次加载页面时这才有效.

这是我在页面上停止链接工作的代码 -

/** Prevent the default links from working when clicking on an ajax link */
$('#attachment-body a').click(function(e){
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

以下是其中一个链接的示例 -

<a href="<?php echo get_permalink($attachment->ID); ?>" title="<?php echo $attachment->post_name; ?>" rel="attachment" onclick="set_centre_image(<?php echo $attachment->ID; ?>, <?php echo $value_for_writing; ?>)">
    <img src="<?php echo $img_src[0]; ?>" />
</a>
Run Code Online (Sandbox Code Playgroud)

我猜这与那些应该禁用其默认值的元素有关,因为AJAX会重新加载,但如果是这样的话,有没有办法绕过它.如果不是这样,有人知道我做错了什么吗?

谢谢.

javascript ajax

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

使用c#从数组中随机选取4个元素

我试图在C#中使用随机函数从一个addetailsID有六个以上元素的数组中随机选择四个.

我将这些随机选择放入另一个数组中strAdDetailsID:

 string[] strAdDetailsID = new string[4];
 for (int i = 0; i < 4; i++)
 {
     Random random = new Random();
     int index = random.Next(0, addetailsID.Length);
     value = addetailsID[index].ToString();
     strAdDetailsID[i] = value;
 }
Run Code Online (Sandbox Code Playgroud)

有时候,我从六个元素中得到两个相同的值.如何获取所有四个唯一值?

c# c#-2.0

1
推荐指数
2
解决办法
5080
查看次数