在C#中,我试图使用<see cref ="blah"/>来引用包含params关键字的方法签名.我知道这会将参数列表转换为数组,但我甚至无法弄清楚如何在CREF属性中引用数组.我在搜索中找不到任何内容,也不知道我知道的任何人.编译器在方括号上窒息.我已经尝试了各种不同的组合,使用花括号,使用Array类,但没有任何工作.有谁知道这个?
我有一个带定时器的Windows服务.很难调试它.因为我启动服务并在代码的不同部分放置断点.当我附上这个过程时,我希望服务从一开始就开始,而不是在我有断点的中间代码中的一些randome位置.它很难像普通应用程序一样调试,你知道起点.看来背景中的流程还没有完成.所以每一次,我开始调试,而不是从第一个断点开始,它从应用程序中间的一些随机断点开始.
我想知道windows服务在进程,线程等方面是如何工作的......我怎样才能从头开始调试?
不久之后,Jon Skeet的一篇文章在我的脑海中建立了一个CompiledFormatter类,用于循环而不是使用String.Format().
这个想法是String.Format()花费解析格式字符串的调用部分是开销; 我们应该能够通过将代码移到循环之外来提高性能.当然,诀窍是新代码应该与行为完全匹配String.Format().
本周我终于做到了.我使用了Microsoft提供的.Net框架源来直接调整他们的解析器(事实证明String.Format()实际上是将工作集中到了StringBuilder.AppendFormat()).我提出的代码是有效的,因为我的结果在我的(公认有限的)测试数据中是准确的.
不幸的是,我还有一个问题:表现.在我的初始测试中,我的代码的性能与正常情况的性能非常接近String.Format().根本没有改善; 它甚至一直慢几毫秒.至少它仍然处于相同的顺序(即:缓慢的数量不会增加;即使测试集增长,它仍然在几毫秒内),但我希望有更好的东西.
内部调用可能StringBuilder.Append()是实际推动性能的因素,但我想看看这里的聪明人是否可以帮助改进.
以下是相关部分:
private class FormatItem
{
public int index; //index of item in the argument list. -1 means it's a literal from the original format string
public char[] value; //literal data from original format string
public string format; //simple format to use with supplied argument (ie: {0:X} for Hex …Run Code Online (Sandbox Code Playgroud) 我有一个rake任务,在我的rails应用程序中填充一些初始数据.例如,国家,州,移动运营商等
我现在设置它的方式是,我在/ db/fixtures中的文件中有一堆create语句,还有一个处理它们的rake任务.例如,我有一个模型是主题.我在/ db/fixtures中有一个theme.rb文件,如下所示:
Theme.delete_all
Theme.create(:id => 1, :name=>'Lite', :background_color=>'0xC7FFD5', :title_text_color=>'0x222222',
:component_theme_color=>'0x001277', :carrier_select_color=>'0x7683FF', :label_text_color=>'0x000000',
:join_upper_gradient=>'0x6FAEFF', :join_lower_gradient=>'0x000000', :join_text_color=>'0xFFFFFF',
:cancel_link_color=>'0x001277', :border_color=>'0x888888', :carrier_text_color=>'0x000000', :public => true)
Theme.create(:id => 2, :name=>'Metallic', :background_color=>'0x000000', :title_text_color=>'0x7299FF',
:component_theme_color=>'0xDBF2FF', :carrier_select_color=>'0x000000', :label_text_color=>'0xDBF2FF',
:join_upper_gradient=>'0x2B25FF', :join_lower_gradient=>'0xBEFFAC', :join_text_color=>'0x000000',
:cancel_link_color=>'0xFF7C12', :border_color=>'0x000000', :carrier_text_color=>'0x000000', :public => true)
Theme.create(:id => 3, :name=>'Blues', :background_color=>'0x0060EC', :title_text_color=>'0x000374',
:component_theme_color=>'0x000374', :carrier_select_color=>'0x4357FF', :label_text_color=>'0x000000',
:join_upper_gradient=>'0x4357FF', :join_lower_gradient=>'0xffffff', :join_text_color=>'0x000000',
:cancel_link_color=>'0xffffff', :border_color=>'0x666666', :carrier_text_color=>'0x000000', :public => true)
puts "Success: Theme data loaded"
Run Code Online (Sandbox Code Playgroud)
这里的想法是我想为用户安装一些股票主题.我有这个方法的问题.
设置ID不起作用.这意味着如果我决定添加一个主题,让我们称之为"红色",那么我只想将主题语句添加到此fixture文件并调用rake任务来重新设置数据库.如果我这样做,因为主题属于其他对象,并且在重新初始化时它们的id发生了变化,所有链接都会被破坏.
我的问题首先是,这是处理数据库播种的好方法吗?在上一篇文章中,我向你推荐了这个.
如果是这样,我怎么能对ID进行硬编码,这有什么缺点吗?
如果没有,那么种子数据库的最佳方法是什么?
我将真正感谢包含最佳实践的长期和深思熟虑的答案.
我的iPhone应用程序通过wifi建立到远程服务器的TCP连接.但是,如果在特定时间内没有用户活动,设备将关闭wifi并断开连接.有可能阻止它吗?我需要连接在应用程序运行时保持持久性.设置setIdleTimerDisabled:YES没有帮助 - 它会阻止屏幕关闭,但仍然关闭wifi.
你知道这是否可行以及如何实现它?
首先,有没有办法在JQuery的$(document).ready()方法中使用document.write()?如果有,请告诉我,因为这将解决我的问题.
否则,我有一些我应该与我合作的代码.问题是,我不允许以任何方式改变他的代码.不起作用的部分看起来像这样:
document.write('<script src=\"http://myurl.com/page.aspx?id=1\"></script>');
Run Code Online (Sandbox Code Playgroud)
脚本标记引用一个aspx页面,该页面执行一系列测试,然后吐出类似的内容:
document.write('<img src=\"/image/1.jpg\" alt=\"Second image for id 1\">')
Run Code Online (Sandbox Code Playgroud)
脚本只是实际情况的例子.这里的问题是我在初始脚本中有一个document.write(),脚本中有一个document.write(),它被附加到第一个脚本中,我必须以某种方式在JQuery的$中使这个工作( document).ready()函数,不改变他的代码.
我不知道该怎么做.救命?
在准备好这个问题的答案后,我发现我无法验证我的答案.
在我的第一个编程工作中,我被告知IN ()谓词中的查询IN会对父查询中包含的每一行执行,因此应该避免使用.
例如,给定查询:
SELECT count(*) FROM Table1 WHERE Table1Id NOT IN (
SELECT Table1Id FROM Table2 WHERE id_user = 1)
Run Code Online (Sandbox Code Playgroud)
Table1 Rows | # of "IN" executions
----------------------------------
10 | 10
100 | 100
1000 | 1000
10000 | 10000
它是否正确?IN谓词实际上如何工作?
自从我安装了Internet Explorer V8后,我的Winforms Designer异常屏幕(WSOD)就被破坏了.之前我会得到描述错误的红色文字,今天我明白了:
WSOD破碎http://faxt.com/images/WSODBroken.png
任何人都可以建议我恢复此显示的文本视图,我正在浪费时间尝试阅读Winform文件现在不会在设计器中显示的原因.谢谢.
我正在寻找一个正则表达式来确定 32 位十六进制值中的任何值何时不为零。
数据模式看起来像0x00000000,我想知道任何数字何时不为零。例如, if0x00001000或0x10000000or0xB000000将被正则表达式捕获,但不是0x00000000模式。现在我执行步行模式匹配
0x[^0]
0x0[^0]
0x00[^0]
...
0x0000000[^0]
Run Code Online (Sandbox Code Playgroud)
这会起作用,但如果可能的话,我更愿意使用一种模式。谢谢。
标记
编辑:我没有提到程序中不需要正则表达式,否则我会使用不同的方法,但我使用正则表达式使用 UltraEdit 在日志文件中搜索值。我本可以开发一个程序或其他一些搜索方法,但我只是懒惰,只是诚实。Ben S 解决方案适用于 UltraEdit 和 Rad Software 正则表达式设计器。ramion 解决方案在这两种工具中都不起作用,不知道为什么。
我最近接受过两次电话采访,其中我被问及接口和抽象类之间的区别.我已经解释了他能想到的每一个方面,但似乎他们在等我提一些具体的东西,我不知道它是什么.
根据我的经验,我认为以下是正确的.如果我错过了重点,请告诉我.
接口:
在接口中声明的每个单独的方法都必须在子类中实现.接口中只能存在事件,代理,属性(C#)和方法.一个类可以实现多个接口.
抽象类:
只有抽象方法必须由子类实现.Abstract类可以有实现的常规方法.Abstract类还可以在Events,Delegates,Properties和Methods旁边有类变量.由于C#中不存在多重继承,因此类只能实现一个抽象类.
毕竟,面试官想出了一个问题"如果你有一个只有抽象方法的抽象类怎么办?那么它与界面会有什么不同?" 我不知道答案,但我认为这是上面提到的继承权吗?
另一位采访者问我,如果你在界面中有一个Public变量,那么它与Abstract Class有什么不同?我坚持认为你不能在界面中有一个公共变量.我不知道他想听到什么,但他也不满意.
另见: