草庐IT

REPLACE_EXISTING

全部标签

C# File.Replace 防止崩溃

File.Replace是否执行原子/事务操作,以便在发生崩溃或电源故障时目标文件永远不会丢失,也不会是部分文件(即原始文件或新文件)文件)?如果没有,是否有其他方法可以防止这种情况发生?注意:这将在装有Windows7或更高版本的NTFS驱动器上,我知道它支持事务。注意:我问的是关于保存在一个原子庄园中,而不是关心一个单独的进程也像thisquestion这样打开文件. 最佳答案 File.Replace在内部使用WinAPI函数ReplaceFile(当然是在Windows上)。但是,即使在该函数中,原子性也不是记录在案的行为,

c# - WCF,BasicHttpBinding : Stop new connections but allow existing connections to continue

.NET3.5、VS2008、使用BasicHttpBinding的WCF服务我在Windows服务中托管了一个WCF服务。当Windows服务关闭时,由于升级、定期维护等,我需要优雅地关闭我的WCF服务。WCF服务的方法最多可能需要几秒钟才能完成,典型的数量是每秒2-5次方法调用。我需要以允许任何先前调用方法完成的方式关闭WCF服务,同时拒绝任何新调用。通过这种方式,我可以在大约5-10秒内达到安静状态,然后完成Windows服务的关闭周期。调用ServiceHost.Close似乎是正确的方法,但它会立即关闭客户端连接,而无需等待任何正在进行的方法完成。我的WCF服务完成了它的方法

c# - String.Replace(char, char) 还是 Replace(string, string)?

当我只需要将一个字符替换为另一个字符时,String.Replace(char,char)和String.Replace(string,string)之间是否存在性能差异? 最佳答案 是的,有:我做了一个快速实验,看起来字符串版本慢了大约3倍。stringa="quickbrownfoxjumpsoverthelazydog";DateTimet1=DateTime.Now;for(inti=0;i!=10000000;i++){varb=a.Replace('o','b');if(b.Length==0){break;}}Date

c# - 有没有比 String.Replace 更好的方法来从字符串中删除退格符?

我有一个从另一个来源读取的字符串,例如“\b\bfoo\bx”。在这种情况下,它将转换为单词“fox”,因为前2个\b被忽略,最后一个“o”被删除,然后被“x”替换。另外一种情况是“patt\b\b\b\b\b\b\b\b\b\bfoo”应该被翻译成“foo”我想出了一些使用String.Replace的方法,但它很复杂,我担心它不能正常工作,而且它会创建很多我想避免的新字符串对象。有什么想法吗? 最佳答案 可能最简单的方法就是遍历整个字符串。根据您的输入,以下代码可以在1-pass中完成此操作publicstringReplace

c# - string.Replace(或其他字符串修改)不起作用

对于下面的代码,我无法让string.Replace工作:someTestString.Replace(someID.ToString(),sessionID);当我调试和检查参数时,它们具有我期望的值-即someID.ToString()得到“1087163075”,sessionID得到“108716308”和someTestString包含“1087163075”。我不知道为什么这不会改变someTestString完整示例:stringsomeTestString="108716305-1.jpg"someTestString.Replace("108716305","NewI

c# - 是否 AvalonEdit :TextEditor have quick search/replace functionality?

我使用AvalonEdit:TextEditor。我可以为此控件启用快速搜索对话框(例如在Ctrl-F上)吗?或者也许有人有将搜索词输入AvalonEdit:TextEditor文本的代码? 最佳答案 关于它的文档不多,但AvalonEdit确实有一个内置的SearchPanel听起来完全像你想要的类。甚至还有一个SearchInputHandler类使得将它连接到您的编辑器、响应键盘快捷键等变得微不足道。下面是一些将标准搜索逻辑附加到编辑器的示例代码:myEditor.TextArea.DefaultInputHandler.Ne

c# - Visual Studio 中的 "Add existing item": is it possible to make "Add as link" default?

正如this中指出的那样因此,VisualStudio中的Add>Existingitem对话框默认显示Add按钮(意味着所选项目将被物理复制到新位置),而理想的操作通常(总是?)添加为链接。是否可以配置VisualStudio,以便在打开添加>现有项目对话框时默认选择添加为链接?我已经彻底搜索了VisualStudio中的Options对话框并检查了MSDN文档以找到对此的答案,但到目前为止无济于事。ProjectLinker当两个新项目要共享同一代码库时,自动链接是一个不错的选择。但是,当将大量文件从现有项目链接到新项目时,似乎仅限于Add>Existingitem方法,而且这项工

C#如何使用Regex.replace,将所有模式匹配替换为目标字符串

是的,我想搜索并替换所有出现的模式,并将它们替换为目标字符串。我正在尝试使用Regex.Replace(src,pattern,target),是否有像\g这样的标志可以放入模式以使其工作,或者什么? 最佳答案 没有\g或全局搜索的概念,因为.NETRegex类默认是全局的。换句话说,假设您已正确编写正则表达式,它应该可以正常工作。您可能想在RegexHero中对其进行测试然后一旦你让它工作,点击顶部的.NET按钮来获取带有正确转义字符串的代码。 关于C#如何使用Regex.replac

C# string.replace 去除非法字符

这个问题在这里已经有了答案:Howtoremoveillegalcharactersfrompathandfilenames?(30个答案)关闭9年前。我正在开发一个读取文件并根据专栏标题保存文件片段的程序。其中一些标题的文件名包含非法字符,因此我编写了这段代码来处理这些问题。stringheaderfile=saveDir+"\\"+tVS.Nodes[r].Text.Replace("\"","").Replace("/","").Replace(":","-").Replace(">","(GreaterThan)")+".csv";如果我没有4.Replace(),有没有更好的

c# string.replace 在 foreach 循环中

不知何故,我似乎无法在C#的foreach循环中进行字符串替换。我的代码如下:foreach(stringsinnames){s.Replace("pdf","txt");}我对LINQ还是很陌生,所以如果这听起来很业余,请原谅我;) 最佳答案 您说您正在寻找LINQ解决方案...这很简单:varreplacedNames=names.Select(x=>x.Replace("pdf","txt"));我们不知道names的类型,但如果您想重新分配给它,您可以使用ToArray或ToList://IfnamesisaListname