我有一个非常简单的Powershell v1.0脚本来按名称杀死进程:
$target = $args[0]
get-process | where {$_.ProcessName -eq $target} | stop-process -Force
Run Code Online (Sandbox Code Playgroud)
哪个有效.但是,当我刚才
get-process | where {$_.ProcessName -eq $args[0]} | stop-process -Force
Run Code Online (Sandbox Code Playgroud)
它找不到任何流程.那么为什么需要将参数复制到局部变量中以使代码工作?
这可能是一个古老的问题,我相信每个人都有自己的方式.假设我定义了一些属性,例如
secret.user.id=user
secret.password=password
website.url=http://stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
假设我有100个不同的类和位置,我需要使用这些属性.哪一个是好的(1)我创建了一个Util类,它将加载所有属性并使用键常量为它们提供服务.例如:Util是一个加载所有属性并保持getInstance()调用的单例.
Util myUtil = Util.getInstance();
String user = myUtil.getConfigByKey(Constants.SECRET_USER_ID);
String password = myUtil.getConfigByKey(Constants.SECRET_PASSWORD);
..
//getConfigByKey() - inturns invokes properties.get(..)
doSomething(user, password)
Run Code Online (Sandbox Code Playgroud)
所以,无论我需要这些属性,我都可以采取以上措施.
(2)我创建了一个有意义的类来表示这些属性; 比如,ApplicationConfig并提供getter以获取特定属性.所以上面的代码可能如下所示:
ApplicationConfig config = ApplicationConfig.getInstance();
doSomething(config.getSecretUserId(), config.getPassword());
//ApplicationConfig would have instance variables that are initialized during
// getInstance() after loading from properties file.
Run Code Online (Sandbox Code Playgroud)
注意:这样的属性文件将来只会有一些细微的变化.
我个人的选择是(2) - 让我听一些评论?
我的代码有这样的东西:
HttpFileCollection files
Run Code Online (Sandbox Code Playgroud)
而不是循环遍历每个文件并将file.ContentLength相加以获得所有内容的总长度,例如
int totalLength = 0;
for (int i = 0; i < files.Count; i++)
{
totalLength += files[i].ContentLength;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用lambda表达式做到这一点所以我有类似的东西..
int totalLength = files.[some sort of delegate here to do the addition].
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑:HttpFileCollection有一个GetEnumeratorMethod但是它需要实现IEnumerable来使用lambda表达式吗?
ToolStripStatusLabel有用DoubleClick吗?
Private Sub myToolStripStatusLabel_DoubleClick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles myToolStripStatusLabel.DoubleClick
MessageBox.Show("WORKING!")
End Sub
Run Code Online (Sandbox Code Playgroud)
只有Click作品.DoubleClick即使Click存在与否也不存在.
假设我有一个包含单个字符的任意大小的数组.我想计算这些字符的所有可能组合,直到任意长度.
所以我要说我的数组是[1,2,3].用户指定的长度为2.然后可能的组合为[11,22,33,12,13,23,21,31,32].
我很难找到一个允许任意长度的合适算法,而不仅仅是排列数组.哦,虽然速度并非绝对关键,但它也应该相当快.
我知道在Lisp中列表必须以nil结尾,但表达式如此
(print (cons 1 (cons 3 2)))
Run Code Online (Sandbox Code Playgroud)
不会抛出任何错误.它打印:
(1 3 . 2)
Run Code Online (Sandbox Code Playgroud)
这是对的吗?
我正在使用GNU Clisp.
我正在研究用WPF编写的SEM图像处理应用程序.我有一个从Canvas派生的图像显示控件,它使用DrawingVisuals显示图像和叠加(每个"图层"一个).它还使用缩放和平移变换实现缩放和平移,应用于DrawingVisuals.
当我放大图像以查看单个像素时,它们显示为平滑,显然使用双线性过滤来拉伸位图(毫不奇怪,因为WPF是通过Direct3D渲染的).但是,对于我的用例,我宁愿将单个像素视为锐利的盒子,就像在任何像Photoshop这样的图像编辑器中一样.这就是为什么我的应用程序的用户缩放图像 - >能够在像素级别上操作.
在WPF中是否有这样的选项(除了在显示位图之前手动拉伸位图)?我找不到任何东西.
在此先感谢Zbynek Vrastil捷克共和国
我有一个问题,我不知道如何解决.
我有一个Indy10 HTTP服务器.我在许多应用程序中使用过Indy9和Indy10 HTTP服务器,从未遇到任何问题.但现在我使用带有ExtJS javascript RAI框架的Indy10 HTTP服务器.
问题是当我提交包含非ansi字符的数据时.例如,当我在1250代码页(斯洛文尼亚语,克罗地亚语......)中提交字母"č"时,我在Indy的"未解决的参数" - >"%C4%8D"中得到以下内容.这是utf-8编码中"č"字母的正确十六进制表示.我的所有页面都是utf-8,我从未向Indy提交表单数据时遇到任何问题.我调试了代码,发现我实际上得到了一个像这样的字节序列:[37,67,52,37,56,68].这是字符串"%C4%8D"的字节表示.但是当然Indy无法正确编码为UTF-16.举个例子.实际表格字段:
FirstName=?rt
Run Code Online (Sandbox Code Playgroud)
提交后出现如下:
FirstName=%C4%8Drt
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题.我查看了ExtJS论坛,但这个主题没有任何内容.有人对这类问题一无所知吗?
编辑:
如果我对params ad JSON进行编码,则它们会正确到达.我也尝试对params进行URL解码,但结果不正确.也许我错过了什么.我会再看看这个.是的,似乎ExtJS URL编码参数
编辑2:
好的,我发现了更多.我比较了帖子数据的实际内容.它是这样的:
Delphi 2006 (Indy10): FirstName=%C4%8D
Delphi 2010 (Indy10): FirstName=%C4%8D
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,未解析的参数都是相同的.我打开了ParseParams,在BDS2006中它们被正确解析,但在2010年它们没有.这是使用delphi进行的Indy10.这个版本有错误还是我做错了什么?
编辑3:
我下载了最新的夜间版本Indy10.仍然是同一个问题.
编辑4:
我不得不接受自己的答案.
只是想知道set()的查找运行时间是什么?O(1)还是O(n)?
如果我有
x = set()是什么时候的运行时
如果x中的"a":打印一套!
您是否碰巧知道可用于查找网页上哪个项目导致以下提示的任何工具,"此项目包含安全和非安全项目.您要显示不安全的项目吗?"
我有一个基于Web的程序,用经典的asp编程.在SSL站点上,我们收到上述提示.搜索完所有代码后,我发现没有使用http的调用.故障排除过程的下一步是一个可以为我找到不安全项目的工具.
对工具的任何建议都会很棒
谢谢,Brian