我是否可以创建单个.cvsignore文件以排除当前目录的特定模式,并递归所有子目录?基本上我想说在我的cvs模块的顶部排除所有*.swp或*.bak文件,而不必为每个子目录创建一个新的.cvsignore.
我想这种行为类似于mercurial的.hgignore文件.
我有一个不同单词/短语的库,为了在目前建立句子,我将这些短语的组合添加到播放列表中以制作句子.不幸的是,如果用户正在运行CPU密集型应用程序(我的大多数用户都是这样),那么句子中间可能会有几秒钟的延迟(在短语之间).
为了解决这个问题,我想到了一种方法,可以将正确的MP3文件组合合并到一个合适的短语中,将其保存在%temp%目录中,然后播放这个应该克服问题的1个MP3文件我我遇到了差距.
在C#中最简单的方法是什么?是否有捷径可寻?文件相当小,每个文件长3-4秒,句子可以包含3-20个短语.
我目前正在通过NSMutableArray(或NSMutableSet)元素枚举来查找重复项并删除它们.
例如,如果array/set具有值[@"a", @"b", @"b", @"c"],则最终结果应为[@"a", @"b", @"c"].
因为我正在比较NSStrings,我正在使用isEqualTo:方法来检查字符串是否相等.
是否有更有效的方法来删除重复的条目,而不是遍历所有条目并检查是否存在重复?
我有IQueryable<someClass>baseList
和List<someOtherClass>someData
我想要做的是更新baseList中的一些项目中的属性.
对于someData中的每个项目,我想在baselist中找到相应的项目并更新项目的属性.
someOtherClass.someCode == baseList.myCode
我可以使用Linq进行某种类型的连接并设置baseList.someData + = someOtherClass.DataIWantToConcantenate.
我可以通过迭代来做到这一点,但有一种花哨的Linq方式,我可以在几行代码中做到这一点吗?
感谢任何提示,〜在圣地亚哥
什么会导致TreeView崩溃,除了调用TreeNode上的.Collapse()方法或TreeView的.CollapseAll()方法?
在我正在开发的应用程序中,TreeView将无法正常运行.TreeView仅维护两个级别.选择父节点的子节点时,所有其他节点立即崩溃.但是,我的代码中没有.Collapse()或.CollapseAll()方法调用!
除了.LabelEdit属性(设置为true)之外,TreeView的所有属性都保留其默认值.对于简单的验证/ MessageBox例程,TreeView在AfterLabelEdit事件中有一些相关的代码.
我试过了:
挂钩TreeView的BeforeCollapse事件并引发e.CancelAction标志.
手动扩展TreeView的AfterSelect事件中的所有节点.(这可以作为一个实验,但我不打算
完全禁止节点崩溃!)
在代码中的许多点上,我逐个节点地迭代TreeView来检查属性.但是,不会发生节点的添加或删除.用户进行选择时修改的唯一TreeNode属性是.ImageIndex和.SelectedImageIndex.
除了上面的两个解决方案,我没有任何线索可能导致此错误.即使没有任何解决方案可以实现,也许任何人都有关于正确处理崩溃的正确方法的想法?(我已尝试在BeforeCollapse事件中设置断点,但除非用户通过鼠标或键盘明确地折叠节点,否则不会触发断点.)
更新:
问题是由于在任何TreeNode上查找.SelectedImageIndex属性.更改此属性会导致所有其他节点崩溃.
我试图用.BeginUpdate()和.EndUpdate()调用无法使用.SelectedImageIndex属性修改代码.
如何避免这种情况?
Medium Trust托管环境中缺乏反射似乎会给许多流行的Web应用程序带来很多问题.
有关随机参考,请参阅MSDN:如何在ASP.NET 2.0中使用中等信任
我有一个简单的iphone应用程序,使用CALayer的子类绘制块,并试图找到保存状态或持久保存当前创建的图层的最佳方法.
我尝试使用Brad Larson之前关于在NSUserDefaults中存储自定义对象的问题的答案,这些对象用于持久化我的CALayer子类,但不是它的基本状态,如几何和背景颜色,所以它们在那里,但没有重新启动渲染.
我使我声明的实例变量符合NSCoding协议但不知道如何使CALayer的属性做同样的事情而不重新声明它的所有属性.或者这不是正确/最好的方法吗?
这是我用来存档图层数组的代码:
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:viewController.view.layer.sublayers] forKey:@"savedArray"];
Run Code Online (Sandbox Code Playgroud)
以下是我用于在-viewDidLoad中重新加载图层的代码:
NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:@"savedArray"];
if (dataRepresentingSavedArray != nil) {
[self restoreStateWithData:dataRepresentingSavedArray];
Run Code Online (Sandbox Code Playgroud)
并且in -restoreStateWithData:
NSArray *savedLayers = [NSKeyedUnarchiver unarchiveObjectWithData:data];
if (savedLayers != nil) {
for(layer in savedLayers) {
[self.view.layer addSublayer:layer];
}
[spaceView.layer layoutSublayers];
}
Run Code Online (Sandbox Code Playgroud) 背景:
我正在编写一个进行TCP/IP连接的守护进程.它将在具有多个(非环回)IP地址的计算机上运行.我希望用户能够在守护程序的配置文件中指定用于传出连接的IP地址,或者*使用all.
地址将用于轮换,每个连接从最近最少使用的IP地址发出.这种行为很重要,因为它*是"all"的替代品,因此在多台机器上运行的守护程序可以指向文件共享上的相同配置文件,并且每个守护程序都使用自己的一组IP地址.
问题:
如何获取机器可以传出(即连接到任何其他计算机)连接的所有IP地址列表?给定所有IP地址的列表,我将如何过滤掉环回地址?
我在C中,如果可能的话我只想使用POSIX,但守护进程可能只能在Linux机器上运行,所以我接受一个以Linux为中心的答案.
每个IP地址都可以在一个(可能是虚拟的)网络设备上使用,反之亦然,因此枚举网络设备和获取相关IP地址的方法也足够了,尽管我对此并不满意.(附带问题:甚至可以将多个IP地址与单个设备关联起来吗?多个设备下的相同IP怎么样?不重要.)
解决方案不足:
gethostname()/ gethostbyname()(作为这个问题).使用该方法,我只返回127.0.0.1(或Debian中的.1.1).我怀疑这是因为机器的主机名在hosts文件中,这就是gethostbyname()检查.(我相信这就是为什么在Debian中我总是得到127.0.1.1:Debian默认将localhost添加为127.0.0.1并将机器的主机名添加为127.0.1.1到hosts文件中,对吧?)我想要一个忽略hosts并给我一切的解决方案实际上在那里getaddrinfo()比gethostname()/ 更幸运了gethostbyname().它似乎受到同样问题的约束.我测试了这个,将机器的主机名和NULL服务(端口)传递给它; 文档说传递NULL主机名和NULL服务是非法的,这是通过测试来支持的.不知道怎么回答机器上的所有问题,但是我愿意接受这方面的建议.最后的编辑:我已经接受了卡斯基的答案给了他一个功劳,因为我指的是如何做到这一点的方向.我已经发布了自己的答案,列出了如果有其他人需要它的确切方法的源代码.
Code Complete表示,为了清晰起见和作为防御措施,始终使用块标识符是一种好习惯.
自读这本书以来,我一直在虔诚地做这件事.有时看起来似乎过多,如下面的情况.
Steve McConnell是否有权坚持始终使用块标识符?您会使用以下哪些?
//naughty and brief
with myGrid do
for currRow := FixedRows to RowCount - 1 do
if RowChanged(currRow) then
if not(RecordExists(currRow)) then
InsertNewRecord(currRow)
else
UpdateExistingRecord(currRow);
//well behaved and verbose
with myGrid do begin
for currRow := FixedRows to RowCount - 1 do begin
if RowChanged(currRow) then begin
if not(RecordExists(currRow)) then begin
InsertNewRecord(currRow);
end //if it didn't exist, so insert it
else begin
UpdateExistingRecord(currRow);
end; //else it existed, so update it
end; //if any …Run Code Online (Sandbox Code Playgroud) c# ×3
cocoa-touch ×2
asp.net ×1
c ×1
calayer ×1
cocoa ×1
coding-style ×1
collapse ×1
collections ×1
css ×1
cvs ×1
delphi ×1
hosting ×1
html ×1
ip-address ×1
join ×1
linq ×1
medium-trust ×1
merge ×1
mp3 ×1
objective-c ×1
positioning ×1
posix ×1
reflection ×1
security ×1
sockets ×1
treenode ×1
treeview ×1
uikit ×1
winforms ×1