有人能告诉我FunctionName(bool() args)C#中的含义吗?
我根本不是Java程序员.我试图不惜一切代价避免它,但是我需要将它用于一个班级(在学校意义上).老师要求我们使用Socket(),BufferedReader(),PrintWriter()和其他各种东西,包括BufferedReader()的readLine()方法.
基本上,这是我遇到的问题.文档清楚地指出readLine应该在输入流的末尾返回一个null,但这不是正在发生的事情.
Socket link = new Socket(this.address, 80);
BufferedReader in = new BufferedReader( new InputStreamReader( link.getInputStream() ));
PrintWriter out = new PrintWriter( new PrintWriter( link.getOutputStream(), true ));
out.print("GET blah blah blah"); // http request by hand
out.flush(); // send the get please
while( (s=in.readLine()) != null ) {
// prints the html correctly, hooray!!
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
我得到一个空白行,一个0和另一个空白行,然后下一个in.readLine()永远挂起,而不是在HTML的结尾处完成.为什么?哪里是我的空?
我试过out.close()看看是否有Yahoo! 正在做一个持久的http会话或其他东西(我不认为没有我们愿意这样做的标题).
我在网上找到的所有Java套接字示例似乎都表明while循环是正确的形式.我只是不知道足够的Java来调试这个.
请考虑以下代码段:
import lxml.html
html = '<div><br />Hello text</div>'
doc = lxml.html.fromstring(html)
text = doc.xpath('//text()')[0]
print lxml.html.tostring(text.getparent())
#prints <br>Hello text
Run Code Online (Sandbox Code Playgroud)
我期待看到'<div><br />Hello text</div>',因为br不能嵌套文本并且是"自我封闭"(我的意思是/>).如何lxml处理它?
我一直在阅读数据库游标,我看到的每一个示例代码都明确打开并关闭游标.我只使用过几次而且我从来没有这样做过.谁能告诉我为什么有必要这样做?我知道如果你不关闭光标你可以创建内存泄漏,但我从来没有打开过.
谢谢
我自己编写了一个相当大而复杂的网站,所以你认为我需要支持javascript被关闭吗?
它有很多额外的工作支持全页回发,我可以用JSON和ajax快速完成这些工作.
我正在对代码进行一些单元测试,这可能会根据输入引发许多异常.所以我尝试了类似下面的代码:(简化示例)
static void Main(string[] args)
{
RunTest<ArgumentException>();
}
static void RunTest<T>() where T : Exception, new()
{
try
{
throw new T();
//throw new ArgumentException(); <-- Doesn't work either
}
catch (T tex)
{
Console.WriteLine("Caught passed in exception type");
}
catch (Exception ex)
{
Console.WriteLine("Caught general exception");
}
Console.Read();
}
Run Code Online (Sandbox Code Playgroud)
但是这将始终打印出"抓住一般异常",catch(T tex)处理程序永远不会工作.无论我抛出T()还是显式抛出ArgumentException()都没关系.任何想法为什么会这样?实际上我有点惊讶我甚至能够在catch子句中使用T,但是因为那可能不应该这样做吗?或者至少给出一个编译器警告/错误,说明这个处理程序永远不会工作?
我的环境是Visual Studio 2008,3.5是目标框架.
更新:我现在直接从命令提示符尝试它,然后打印出"Caught传递异常类型".因此看起来这仅限于在Visual Studio中运行.也许Visual Studio托管过程的特殊性?
当你去删除指针时,第一个例子不起作用.当我添加null终止符时,程序要么挂起,要么没有它我得到:
Debug Assertion Failed Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) 来自Visual Studio 2008
//Won't work when deleting pointer:
char *at = new char [3];
at = "tw"; // <-- not sure what's going on here that strcpy does differently
at[2] = '\0'; // <-- causes program to hang
delete at;
//Works fine when deleting pointer:
char *at = new char [3];
strcpy(at,"t");
at[1] = 'w';
at[2] = '\0';
delete at;
Run Code Online (Sandbox Code Playgroud)
那么当我使用双引号而不是strcpy时会发生什么?它们都会完美地完成字符串,调试器不会显示任何不同的内容.
是否可以更改开发服务器在visual studio 2008中激活的主机名?最终我希望visual studio能够直接在http://localhost.:xxxx/上开始(注意期间).由于我正在做更多的ajax类型调用,我发现我需要使用像fiddler这样的工具更频繁地检查流量来检查响应/请求.(Fiddler无法通过http:// localhost /查看请求,因为它们不会遍历常规网络堆栈).
我查看了Web服务器配置页面但没有跳出来.
我不是特别想在盒子上配置IIS的路线,但会考虑一个令人信服的答案.
如今,异步和并发编程接缝在每个人的脑海中都有,而.NET 4则增加了许多改进,例如内置线程安全集合和当然任务.最重要的是,我开始研究Reactive Framework(Rx).
任务似乎主要更侧重于计算性能的并发性,尽管它也是将来完成某些时间的操作的通用模型,可用于处理其他类型的异步操作,以及使用.Continue*()组合它们. .Rx似乎对于响应多个事件和有状态事件处理更有用.
您是否看到这两个框架之间存在重叠,具体而言,您是否看到了根据任务对IObservable进行建模的用途,反之亦然?
我试图在DIV中动态包装文档的body标签的内容.到目前为止,我使用了以下代码:
document.body.innerHTML = '<div id="wrap">' + document.body.innerHTML + '</div>';
Run Code Online (Sandbox Code Playgroud)
这是有效的,但有不必要的副作用,同一页面上的其他脚本停止工作(我假设因为更改innerHTML呈现任何对象引用,他们可能已经无用).
使用纯JavaScript或Prototype框架,实现这一目标并保持参考完整的最佳/最有效方法是什么?