通常,我将Environment.Exit(code)用于退出应用程序.(通常通过按钮单击.)但我想知道它是退出的正确方法,即释放内存等等...
我正在使用.Net OpenXml SDK 2.0解析一些Openxml word文档.作为处理的一部分,我需要用其他句子替换某些句子.在迭代段落时,我知道当我找到需要替换的东西时,但我很难过如何替换它.
例如,假设我需要将"a contract exclusively for construction work that is not building work."带有html代码段的句子替换为下面的Sharepoint可重用内容.
<span class="ms-rtestate-read ms-reusableTextView" contentEditable="false" id="__publishingReusableFragment" fragmentid="/Sites/Sandbox/ReusableContent/132_.000" >a contract exclusively for construction work that is not building work.</span>
PS:我使用xslt得到了docx到Html的转换,所以在这个阶段这不是问题
Paragraph节点的InnerText属性为我提供了正确的文本,但内部文本属性本身不可设置.所以
Regex.Match(currentParagraph.InnerText, currentString).Success
返回true并告诉我当前段落包含我想要的文本.
正如我所说,InnerText本身不可设置,所以我尝试使用outerxml创建一个新段落如下.
string modifiedOuterxml = Regex.Replace(currentParagraph.OuterXml, currentString, reusableContentString);
OpenXmlElement parent = currentParagraph.Parent;
Paragraph modifiedParagraph = new Paragraph(modifiedOuterxml);
parent.ReplaceChild<Paragraph>(modifiedParagraph, currentParagraph);
Run Code Online (Sandbox Code Playgroud)
尽管我并不太关心这个级别的格式化并且它似乎没有任何格式,但是outerXML似乎有额外的元素可以打败正则表达式.
..."16" /><w:lang w:val="en-AU" /></w:rPr><w:t>a</w:t></w:r><w:proofErr w:type="gramEnd" /> <w:r w:rsidRPr="00C73B58"><w:rPr><w:sz w:val="16" /><w:szCs w:val="16" /><w:lang w:val="en-AU" /></w:rPr><w:t xml:space="preserve"> contract exclusively for construction work that …
假设我有这个Scala代码:
object Outer {
object Inner {
val B = "B"
}
class Inner {
def b = B
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以编译,但B不能从定义中访问b.我需要添加import Inner._的class Inner,使其工作.这是为什么?伴侣对象Inner未正确定义吗?
在Prism V4/MEF/MVVM应用程序中,我得到了一个包含TabControl的View.
在第一个TabItem中,我显示了一个项目列表,除非选择了有效项目,否则将禁用第二个TabItem.现在当用户点击第二个TabItem时,我想加载并准备一些额外的数据到第二个TabItem.
如何了解MVVM中的TabItem更改?
我正在考虑使用AppEngine来部署我正在开发的webapp.作为我对AppEngine平台的调查的一部分,我一直在检查简单请求的响应时间.为此,我编写了一个简单的PING servlet:
@SuppressWarnings("serial")
public class Ping extends HttpServlet
{
@Override
public void doGet(@SuppressWarnings("unused") HttpServletRequest xiReq,
HttpServletResponse xiResp)
throws IOException
{
xiResp.setContentType("text/plain");
xiResp.getWriter().println("PONG");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我编写了一个java程序,每秒向该servlet发出一个请求,并计算完成请求所需的时间.获取页面内容使用以下代码.
private static String getPageContent(String url) throws IOException {
String result = null;
URL reqURL = new URL(url);
URLConnection connection = reqURL.openConnection();
connection.setConnectTimeout(30 * 1000);
connection.setReadTimeout(30 * 3000);
InputStream webStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(webStream));
result = reader.readLine();
reader.close();
return result;
}
Run Code Online (Sandbox Code Playgroud)
我的监视器脚本每隔3分钟以下列格式输出数据:
date,num_reqs,num_failedreqs,avg_reqtime,num_normreqs,avg_normreqtime,num_latereqs,avg_latereqtime
Run Code Online (Sandbox Code Playgroud)
normrequests是完成latereqs需要不到500ms的所有请求,所有请求需要超过500ms才能完成failreqs是在下载过程中抛出IO异常或者收到的内容不等于"PONG"的任何请求
我最后约20分钟的输出如下:
Thu Nov 25 10:04:01 GMT 2010,300,0,186,295,171,5,1093
Thu …Run Code Online (Sandbox Code Playgroud) 如何检查C#代码是否存在注册表值?这是我的代码,我想检查"开始"是否存在.
public static bool checkMachineType()
{
RegistryKey winLogonKey = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\services\pcmcia", true);
string currentKey= winLogonKey.GetValue("Start").ToString();
if (currentKey == "0")
return (false);
return (true);
}
Run Code Online (Sandbox Code Playgroud) 我想在javascript中匹配此正则表达式:
com\..*</div>
Run Code Online (Sandbox Code Playgroud)
如你所见,我想要com.什么然后呢</div>.但是在javascript中这不起作用,它总是com/jdksf</div>找不到com.fdsfd<div>文本.知道为什么会这样吗?
编辑:我的代码如下所示:
var patt1=new RegExp("com\..*</div>");
alert(patt1.exec(document.getElementsByTagName("body")[0].innerHTML));
Run Code Online (Sandbox Code Playgroud) 我正在测试nhibernate 3 CR,但无法使用Linq创建以下SQL:
select *
from Users as {user}
inner join Test as test on test.UserId = user.Id
inner join Release as release on release.TestId = test.TestId
where Release.Status = 1
order by count(release.Status) desc;
Run Code Online (Sandbox Code Playgroud)
我还没有到目前为止,我目前的代码是这样的,给了我一些完全不同的东西:
var users = from user in Session.Query<User>()
join test in Session.Query<Test>() on user.Id equals test.User.Id
join release in Session.Query<Release>() on test.Id equals release.Test.Id
where release.Status == 1
orderby release.Status
descending
select user;
Run Code Online (Sandbox Code Playgroud)
有没有关于如何使用linq内连接的资源?我应该怎么做:
order by count(release.Status)
Run Code Online (Sandbox Code Playgroud)
这是应该用QueryOver完成的吗?