我有两个包含字母和数字的字符串,用空格分隔.前"elza7ma wa2fa fel matab"和"2ana ba7eb el za7ma 2awy 2awy"
比较这两个字符串以查明它们是否有共同字的最快方法是什么?
我尝试使用string.split拆分其中一个,并在整个单词数组中使用string.compare.但这很慢,因为我会比较很多字符串.
我正在使用.NET 4.0 Framework.我需要编写一些XML来与Web服务进行交互.传递给Web服务的参数将由最终用户输入.
我的问题是,这些天与XML交互的推荐方法是什么?似乎每个版本的.NET Framework都有一种新方法可以做同样的事情.但这并不一定意味着它是最好的.在这种情况下社区推荐什么?
在我自己的网络服务器软件中,我在服务器上的事件查看器中获取包含以下堆栈跟踪的条目:
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
Stack:
at System.Net.FixedSizeReader.ReadCallback(System.IAsyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Net.ContextAwareResult.Complete(IntPtr)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
Run Code Online (Sandbox Code Playgroud)
不用说,这会导致进程崩溃,这意味着服务器出现故障.
由于堆栈跟踪都没有提到我自己的代码,所以我很困惑.这是.NET中的错误吗?如果是这样,有没有任何已知的解决方法?或者这个特殊例外有一个已知的原因吗?
CompletionPortCallback
stacktrace中提到的名称让我相信它是在服务器尝试接受传入的TCP连接时发生的,因此我将在下面包含相关的代码.当然,如果您认为问题出在其他地方,我很乐意加入其他代码.
BeginAccept
看起来像这样的调用:
_listeningSocket.BeginAccept(acceptSocket, null);
Run Code Online (Sandbox Code Playgroud)
这里_listeningSocket
是类型System.Net.Sockets.Socket
.
该acceptSocket
方法如下所示.我将假设这些评论很好地解释了代码; 如果没有,我很乐意在评论中澄清.由于此代码在实时服务器上以RELEASE模式运行,因此#if DEBUG
当然是错误的.
private void acceptSocket(IAsyncResult result)
{
#if DEBUG
// Workaround for bug in .NET 4.0 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个应用程序,只要按下Shift键就会响应,无论当前哪个应用程序都有焦点.
我尝试使用SetWindowsHookEx()
和使用GetKeyboardState()
,但这两个只在应用程序的窗口具有焦点时才起作用.我需要它在全球范围内工作.
我该怎么做呢?
我已经阅读了很多关于此的帖子,但没有任何可靠的答案.这是我的代码:
// button creation
onew = document.createElement('input');
onew.setAttribute("type", "button");
onew.setAttribute("value", "hosts");
onew.onclick = function(){fnDisplay_Computers("'" + alines[i] + "'"); }; // ie
onew.setAttribute("onclick", "fnDisplay_Computers('" + alines[i] + "')"); // mozilla
odiv.appendChild(onew);
Run Code Online (Sandbox Code Playgroud)
现在,setAttribute()方法(带有mozilla注释)在mozilla中工作正常,但只有在它上面的行之后才会出现.换句话说,它似乎只是默认为最后设置的那个..onclick方法(使用ie注释)在任何一种情况下都不起作用,我使用不正确吗?
无论哪种方式,我都找不到在IE中完成这项工作的方法,更不用说两种方式了.我在使用.onclick方法时确实更改了函数调用,只需简单调用一个警报函数就可以正常工作,这就是为什么我认为我的语法不正确.
长话短说,我无法让onclick参数在IE/Mozilla之间保持一致.
- 尼古拉斯
我已在所有 csproj 文件中设置 OutputPath、IntermediateOutputPath 和 BaseIntermediateOutputPath 标记。尽管如此,Visual Studio 在我的源目录中创建了额外的“obj”文件夹。据我所知,它创建了目录 obj\Debug\TempPE,然后将其留空。
我不介意 Visual Studio 创建各种垃圾,但我如何告诉它只在我想要的地方创建它,而不是在源目录中?
我正在使用调试器来逐步执行我的代码.我所在的代码文件在顶部使用,例如包括
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2008中,这用于在调试时应用于Watch窗口,因此我可以在监视窗口中使用扩展方法,例如.First()
和.ToArray()
.
出于某种原因,这已停止在Visual Studio 2010中工作.并且它不仅仅是扩展方法; 我现在必须使用完整的命名空间限定每个类型,这真的很烦人.
甚至更奇怪的是Watch窗口内的IntelliSense就像使用时一样.换句话说,它确实列出.ToArray()
了例如.但是Watch窗口会显示错误消息
'<type>'不包含'ToArray'的定义,并且没有扩展方法'ToArray'可以找到接受类型'<type>'的第一个参数(你是否缺少using指令或汇编引用?)
所以现在我总是要输入真的很长而烦人的
System.Linq.Enumerable.ToArray(blah)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我写了一个用以下原型调用函数的程序:
def Process(n):
# the function uses data that is stored as binary files on the hard drive and
# -- based on the value of 'n' -- scans it using functions from numpy & cython.
# the function creates new binary files and saves the results of the scan in them.
#
# I optimized the running time of the function as much as I could using numpy &
# cython, and at present it takes about 4hrs to …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个新表单,我的IDE崩溃了,或者它遇到了问题,现在每次创建一个新表单时,它都有一条黑线.黑线不是我添加的东西,它似乎是从错误的地方画的表格顶部的黑线.有趣的是,每次重新加载表格时,线条会向上移动,直到第5次加载后它消失.我该如何阻止这种情况发生?我已经尝试了构建,重建,清洁解决方案(重新启动视觉工作室)但它仍然存在,它是不一致哪个也烦人,任何想法?
我试图将Panel.TabStop
属性切换到true
但它不会影响任何东西。
如何TabStop
在 a 中启用Panel
?