为什么这会导致return语句出现语法错误:
var FOO = (function($)
{
return
{
init: function()
{
}
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
然而,这不是:
var FOO = (function($)
{
return {
init: function()
{
}
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
为什么会有区别?
我的ASP.NET Web应用程序中有很多XSL文件.很多.我使用这种通用转换方法生成一堆AJAX HTML响应:
public void Transform(XmlDocument xml, string xslPath)
{
...
XslTransform myXslTrans = new XslTransform();
myXslTrans.Load(xslPath);
myXslTrans.Transform(xml,null, HttpContext.Current.Response.Output);
}
Run Code Online (Sandbox Code Playgroud)
我想使用xml类型的列将XSL定义移动到SQL Server中.我将整个XSL文件存储在SQL中的单行中,并且每个XSL都是自包含的(无导入).我会将SQL中的XSL定义读出到我的XslTransform对象中.
像这样的东西:
public void Transform(XmlDocument xml, string xslKey)
{
...
SqlCommand cmd = new SqlCommand("GetXslDefinition");
cmd.AddParameter("@xslKey", SqlDbType.VarChar).Value = xslKey;
// where the result set has a single column of XSL: "<xslt:stylesheet>..."
...
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read()) {
SqlXml xsl = dr.GetSqlXml(0);
XslTransform myXslTrans = new XslTransform();
myXslTrans.Load(xsl.CreateReader());
myXslTrans.Transform(xml,null, HttpContext.Current.Response.Output);
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎是一种直截了当的方式:
有人曾尝试过这个吗?有什么警告吗? …
假设我想强制执行一条规则:
每次在函数中调用"StartJumping()"时,必须在返回之前调用"EndJumping()".
当开发人员编写代码时,他们可能只是忘记调用EndSomething - 所以我想让它易于记忆.
我只能想到一种方法:它滥用"using"关键字:
class Jumper : IDisposable {
public Jumper() { Jumper.StartJumping(); }
public void Dispose() { Jumper.EndJumping(); }
public static void StartJumping() {...}
public static void EndJumping() {...}
}
public bool SomeFunction() {
// do some stuff
// start jumping...
using(new Jumper()) {
// do more stuff
// while jumping
} // end jumping
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我有一个非常大的表:超过2000万行,我需要更新大约5% - 或100万行.
不幸的是,我正在更新用作聚簇索引的(int)列.
我的问题是:更新这些行的最快方法是什么?
我试过直接更新行:
update t1
set t1.groupId = t2.groupId
from
table t1
join newtable t2 on t1.email = t2.email
Run Code Online (Sandbox Code Playgroud)
但这需要太长时间(我在3小时后停止了)
我假设这是因为整个行(有2个日期时间,2个varchars和2个int)正在为每次更新移动.
如果我首先删除聚簇索引,然后执行更新,然后重新创建聚簇索引,该怎么办?会更快吗?
注意:我在电子邮件上有一个非聚集索引,以防有人认为它是查询的选择部分很慢.不是.
是否有以下代码的类似形式:
if(month == 4,6,9,11)
{
do something;
}
Run Code Online (Sandbox Code Playgroud)
或者必须是:
if(month == 4 || month == 6 etc...)
{
do something;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试撰写一份if声明,检查本月是否超过31天.
编辑
我想真正的问题是我不知道我学到了什么,但每次我尝试使用sun网站关于java时它都会让我感到困惑.我的问题是,如果我从一个用户和一天获得一个月的时间,并将其放入MM/dd格式并进行评估,那么是否有更简单的方法来检查月份和日期是否有效以及在我检查之后有效我可以用我所拥有的格式打印MM/dd.如果无效打印一行显示无效的月份或日期.
我想清理从数据库中检索的字符串.
我遇到了这个问题,其中属性值(来自数据库的名称)具有嵌入的TAB字符,并且Chrome在尝试加载JSON对象时给了我无效的TOKEN错误.
所以现在,我去了http://www.json.org/,并且它有一个规范.但我无法理解如何使用此规范编写清洁剂:
串
字符
烧焦
给定一个字符串,我如何"清理"它以便符合此规范?
具体来说,我很困惑:规范是否允许TAB(0x0900)字符?如果是这样,为什么Chrome会出现无效的TOKEN错误?
我刚刚阅读了这篇有趣的文章,关于支持正则表达式的各种语言的实现细节.
它描述了使用非确定性有限自动机(NFA)与确定性有限自动机(DFA)的正则表达式的替代实现.它声称反向跟踪DFA实现(Perl,Java和其他版本中使用的版本)在一些特别"病态"的正则表达式上容易受到非常慢的性能影响.(grep,awk和Tcl仍然使用DFA,但不知何故以指数方式加快)
它没有引用.NET框架,但我想知道如何实现.NET(特别是C#)正则表达式,以及它们在性能方面的比较.
编辑:
我可以假设,因为回答者的文章提到.NET确实回溯,它将与Perl和Java相提并论吗?
在MS Chart控件(他们从Dundas购买)中,我有三个需要绘制的系列.
其中两个系列应该在Legend中有一个条目,但第三个不应该.
我已经尝试过这些代码行,但都没有工作:
Chart c = new Chart();
ChartArea ca = c.ChartAreas.Add("main");
Legend lg = c.Legends.Add("mainLegend");
Series s1 = c.Series.Add("s1");
Series s2 = c.Series.Add("s2");
Series s3 = c.Series.Add("s3");
// ... populate the 3 series with data...
s1.Legend = "mainLegend";
s2.Legend = "mainLegend";
// I've tried these:
s3.Legend = ""; // gives an error about a nonexistent legend named ''
s3.LegendText = ""; // just shows "s3" in the legend
Run Code Online (Sandbox Code Playgroud)
如何防止系列出现在图例中?
我有一个对象的邻接列表(从SQL数据库加载的行,带有密钥和它的父键),我需要用它来构建无序树.它保证没有周期.
这花费的时间太长了(在大约5分钟内仅处理了870K节点中的约3K).在我的工作站Core 2 Duo上运行,有足够的RAM.
关于如何加快速度的任何想法?
public class StampHierarchy {
private StampNode _root;
private SortedList<int, StampNode> _keyNodeIndex;
// takes a list of nodes and builds a tree
// starting at _root
private void BuildHierarchy(List<StampNode> nodes)
{
Stack<StampNode> processor = new Stack<StampNode>();
_keyNodeIndex = new SortedList<int, StampNode>(nodes.Count);
// find the root
_root = nodes.Find(n => n.Parent == 0);
// find children...
processor.Push(_root);
while (processor.Count != 0)
{
StampNode current = processor.Pop();
// keep a direct link to the node via the key …Run Code Online (Sandbox Code Playgroud) 如何使用Powershell在文件中找到多行模式,例如XML节点的内容?
即如果我在deviceDescription节点中寻找"绿色"一词,但XML节点文本可能跨越多行,这不起作用:
dir -r -i *.xml | select-string -Pattern "<deviceDescription>.*green.*</deviceDescription>"
Run Code Online (Sandbox Code Playgroud) c# ×4
performance ×2
regex ×2
sql ×2
.net ×1
algorithm ×1
asp.net ×1
formatting ×1
grep ×1
if-statement ×1
indexing ×1
java ×1
javascript ×1
jquery ×1
json ×1
mschart ×1
powershell ×1
sql-server ×1
syntax ×1
whitespace ×1
xslt ×1