问题列表 - 第2625页

从结果集创建长字符串

我在存储过程中的MS-SQL中有一个结果集,并且假设它有一个VARCHAR列,但是有很多行.我想创建一个逗号分隔的字符串,包含所有这些值,是否有一个简单的方法,或者我将不得不逐步完成每个结果并手动构建字符串?

我想在存储过程本身中这样做.

sql t-sql string

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

WPF GroupBox隐藏/显示扩展按钮?

是否有像System.Windows.Controls.GroupBox这样的控件可以隐藏其内容并只显示名称和扩展按钮?

wpf expander

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

确定整数平方根是否为整数的最快方法

我正在寻找最快的方法来确定一个long值是否是一个完美的正方形(即它的平方根是另一个整数):

  1. 我通过使用内置Math.sqrt() 函数以简单的方式完成了它,但我想知道是否有办法通过将自己限制为仅整数域来更快地完成它.
  2. 维护查找表是不切实际的(因为大约有2 31.5个整数,其平方小于2 63).

这是我现在正在做的非常简单直接的方式:

public final static boolean isPerfectSquare(long n)
{
  if (n < 0)
    return false;

  long tst = (long)(Math.sqrt(n) + 0.5);
  return tst*tst == n;
}
Run Code Online (Sandbox Code Playgroud)

注意:我在许多Project Euler问题中使用此函数.因此,没有其他人必须维护此代码.而这种微优化实际上可以产生影响,因为部分挑战是在不到一分钟的时间内完成每个算法,并且在某些问题中需要将此函数调用数百万次.


我尝试过不同的问题解决方案:

  • 经过详尽的测试后,我发现0.5不需要添加Math.sqrt()的结果,至少在我的机器上没有.
  • 快速逆平方根增快,但它给了不正确的结果对于n> = 410881.然而,所建议BobbyShaftoe,我们可以使用FISR劈对于n <410881.
  • 牛顿的方法慢了一点Math.sqrt().这可能是因为Math.sqrt()使用类似牛顿方法的东西,但在硬件中实现,因此它比Java快得多.此外,牛顿的方法仍然需要使用双打.
  • 一个修改过的牛顿方法,它使用了一些技巧,只涉及整数数学,需要一些黑客来避免溢出(我希望这个函数适用于所有正64位有符号整数),并且它仍然比它慢Math.sqrt().
  • 二进制斩甚至更慢.这是有道理的,因为二进制斩波平均需要16遍才能找到64位数的平方根.
  • 根据John的测试,or在C++中使用语句比使用语句更快switch,但在Java和C#中,or和之间似乎没有区别switch.
  • 我还尝试制作一个查找表(作为64个布尔值的私有静态数组).然后or我会说,而不是开关或声明if(lookup[(int)(n&0x3F)]) { test } else return false; …

java math optimization perfect-square

1403
推荐指数
22
解决办法
26万
查看次数

在foreach循环中构建的Linq查询始终从最后一次迭代中获取参数值

我有一个包含几个关键字的列表.我预先通过他们像这样构建我的linq查询(煮沸以消除代码噪音):

List<string> keys = FillKeys()
foreach (string key in keys){
    q = q.Where(c => c.Company.Name.Contains(key));
}
Run Code Online (Sandbox Code Playgroud)

当我现在让我的键包含2个键分别返回结果,但不能一起出现(q中的每个项目都是"xyz"或"123",从不"123"和"xyz"),我仍然得到结果.结果集与它到达的最后一个字符串相同.

我查看了linq查询,看起来它创建了正确的sql,但它用相同的(最后一个itterated)值替换了@ p1 AND @ p2.

我究竟做错了什么?

c# linq

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

CSS浮动和HTML问题

我有一些关于基本CSS的问题,我无法理解或找到答案.

首先,我尝试在另一个div标签中放置3个div标签.包含3个其他标记的第一主div标签无关为其设置除了大小,这是400px400px.其他3周的div里面,全部都是20px20px和1被分配float:left,而另外两个被分配的样式,这是正确的浮动.所有属性都在一个样式中定义,并且两个div float:right被分配了相同的样式.我的问题是,在代码中排在最后的两个div中,首先出现在浏览器中,我不明白这个原因.

这是代码:

<html>
<head>
<style>
#main{ 
    border: red 4px dashed;
    width: 25%
    height: 25%,
    }
#left{ 
    float: left;    
    width: 20px;
    height: 20px,
    }
#right{ 
    float: right;   
    width: 20px;
    height: 20px,
    }
</style>
</head>
<body>
<div id="main">
<div id="left">1</div>
<div id="right">2</div>
<div id="right">3</div>
</div>
</body>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

html css css-float

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

在IFrame之外移动ModalPopup.可能?

我的主页里面有一个iframe.iframe页面中有一个modalpopup.因此,当显示modalpopup时,modalpopup的父级是iframe主体和主页面父主体.因此,叠加层仅覆盖iframe而不是整个页面.

我尝试使用jQuery将modalpopup从iframe移动到父窗口body元素(或父窗体内的任何其他元素).我收到一个无效的参数错误.

如何从iframe中的页面显示modalpopup,它应该覆盖整个文档,父文档?

更新:

由于很少有用户对实现相同的行为感兴趣.这里是解决方法

我建议的最好的解决方法是在主页面中使用modalpopup ..然后从iframe调用它..说这样的东西..

/* function in the main(parent) page */
var _onMyModalPopupHide = null;
function pageLoad(){
    // would be called by ScriptManager when page loads
    // add the callback that will be called when the modalpopup is closed
    $find('MyModalPopupBehaviorID').add_hidden(onMyModalPopupHide);
}
// will be invoked from the iframe to show the popup
function ShowMyModalPopup(callback) {
    _onMyModalPopupHide = callback;
    $find('MyModalPopupBehaviorID').show();
}
/* this function would be called when the modal popup is closed */
function onMyModalPopupHide(){
    if (typeof(_onMyModalPopupHide) …
Run Code Online (Sandbox Code Playgroud)

asp.net iframe modalpopupextender

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

system.io.fileloadexception故障排除

我有一个.net 3.5 WinForms应用程序在我的机器上运行正常,但在另一台机器上它会立即崩溃与system.io.fileloadexception.不幸的是,没有关于哪个文件无法加载的详细信息,所以我不知道问题究竟在哪里.

我相信我知道它可能是哪一个(SQL Server Compact版本),但在我漫无目的地捕获之前,我想知道是否有一种正确的方法来找出导致fileloadexception的原因,而不是使用来自SysInternals的FileMon.

唯一的错误消息是:

EventType clr20r3,P1 myapplication.exe,P2 2.1.0.0,P3 490eca78,P4 myapplication,P5 2.1.0.0,P6 490eca78,P7 2e,P8 21,P9 system.io.fileloadexception,P10 NIL.

.net

6
推荐指数
2
解决办法
9665
查看次数

SecureRandom:init一次或每次需要init?

我们的团队正在使用SecureRandom生成密钥对列表(SecureRandom传递给KeyPairGenerator).我们无法就以下两个选项中的哪一个达成一致:

  1. 每次我们需要生成密钥对时创建一个新实例

  2. 初始化静态实例并将其用于所有密钥对

哪种方法通常更好,为什么

补充:我的直觉是第二种选择更安全.但我唯一的论点是基于伪随机性来自当前时间戳的假设的理论攻击:某人可能看到密钥对的创建时间,猜测周围时间间隔中的时间戳,计算可能的伪随机序列,并获得关键材料.

补充:我对基于时间戳的确定性的假设是错误的.这是Random和SecureRandom之间的区别.因此,看起来答案是:在安全性方面它并不重要.

java security random cryptography

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

使用JDBC连接到不同数据库的模式

我正在编写一个应用程序,它必须可配置为根据客户端的想法连接到Oracle,SQL Server和MySQL.

到目前为止,我一直在计划使用JDBC-ODBC桥,只使用不同的连接字符串连接到数据库.

我被告知这不是很有效率.

  1. 是否有连接到多个数据库系统的模式或最佳实践?或者选择使用哪个驱动程序?

  2. 我可以配置它吗?但包括所有三个驱动程序或建立三个单独的客户?

我没有做任何复杂的事情只是从事件流中将数据泵入(插入)到数据库中.

java jdbc

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

如何在Java Applet中注册JavaScript回调?

我正在开发一个不可见的Java Applet,它将完全由JavaScript控制.

我可以轻松地调用applet的Java方法,并且可以通过使用来调用applet中的JavaScript方法netscape.javascript.JSObject.getWindow(this).call().

但是为了在applet中注册一个JavaScript回调,我想我需要某种JavaScript函数对象.

我想要做:

public void registerCallback( SomeJavascriptFunction func ) { ... }
Run Code Online (Sandbox Code Playgroud)

我可以通过Javascript调用:

myapplet.registerCallback(function(){ alert("called back"); });
Run Code Online (Sandbox Code Playgroud)

所以我可以在以后的代码中调用这个函数:

func.call( ... );
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?我怎样才能做到这一点?

Rigth现在我正在考虑创建一些Javascript来处理这个回调机制而不是从applet这样做.

javascript java methods applet callback

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