草庐IT

file_contents_as_string

全部标签

c# - 为什么我的 string.indexof(char) 更快?

不要问我是怎么到那儿的,但我一直在玩弄一些掩码、循环展开等。无论如何,出于兴趣,我在考虑如何实现一个indexof方法,长话短说,所有除了屏蔽等,这个天真的实现:publicstaticunsafeintIndexOf16(strings,intstartIndex,charc){if(startIndex=s.Length)thrownewArgumentOutOfRangeException("startIndex");fixed(char*cs=s){for(inti=startIndex;i比string.IndexOf(char)快。我写了一些简单的测试,它似乎与输出完全匹配

c# - 为什么 string.Normalize 不一致取决于上下文?

我有以下代码:stringinput="ç";stringnormalized=input.Normalize(NormalizationForm.FormD);char[]chars=normalized.ToCharArray();我在64位Windows7上使用VisualStudio2010、.net4构建此代码。我在两个上下文中的单元测试项目(平台:任何CPU)中运行它并检查chars的内容:VisualStudio单元测试:字符包含{231}。ReSharper:字符包含{231}。NCrunch:字符包含{99,807}。在msdndocumentation,我找不到任何

c# - string.IndexOf OrdinalIgnoreCase 与 CurrentCultureIgnoreCase 的性能

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Stringcomparisonindotnetframework4我注意到我机器上的一个UI应用程序存在性能问题,该应用程序正在执行大量字符串比较以过滤大型列表。我将问题追溯到在对string.IndexOf的调用中使用OrdinalIgnoreCase。以下基准测试是在没有附加调试器的情况下在Release中运行的,它是一个在VS2010、Windows7中构建的4.0项目,我在这台机器上安装了4.5beta,我不确定这是否会影响它。1.190secondsforOrdinalIgnoreCase0.17

C# 字典性能 : Default string Comparer's GetHashCode() allocates memory in violation of guidelines, 从而破坏性能?

有anestablishedguideline获取哈希码不应分配内存,因为这会通过调用垃圾收集器对哈希表查找产生负面影响。然而,这个确切的失败是我所看到的我使用System.Collections.Generic.Dictionary的应用程序的配置文件在一个非常紧凑的循环中,我在分析器结果中发现以下内容:[3.47%]TryGetValue(TKey,TValue&)(...字典)[3.47%]FindEntry(TKey)(...字典)[3.47%]GetHashCode(string)(System.CultureAwareComparer)[3.46%]GetHashCodeO

c# - OpenXML 中的 CellValues.InlineString 和 CellValues.String 有什么区别?

我正在尝试编写一些代码来生成Excel电子表格,但我不确定CellValues.InlineString和CellValues.String在细胞。我应该用这个吗:privatevoidUpdateCellTextValue(Cellcell,stringcellValue){InlineStringinlineString=newInlineString();TextcellValueText=newText{Text=cellValue};inlineString.AppendChild(cellValueText);cell.DataType=CellValues.InlineS

c# - 抛出 FaultException 时 WCF 错误 "The size necessary to buffer the XML content exceeded the buffer quota"

我试图在WCF应用程序的服务器端抛出FaultException。我使用DTO作为此异常的有效负载。从某个时候(对于那种大对象)我开始在客户端收到“缓冲XML内容所需的大小超出了缓冲区配额”异常。所有绑定(bind)消息大小参数和maxDepth都设置为最大的值以排除怀疑。有人遇到过这个问题吗?网上好像还没有解决办法。设置没有帮助。 最佳答案 问题出在ClientRuntime的“MaxFaultSize”参数中,默认值为65535,因此默认情况下您无法在WCF的错误中传递大负载。要更改此值,您应该像这样编写自定义EndpointB

c# - .Net 2.0、VS2010 和 Windows 8 上的 "Could not load file or assembly System.Drawing or one of its dependencies"错误

我在Windows窗体应用程序项目上收到FileNotFoundException,并显示以下消息:Couldnotloadfileorassembly'System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'oroneofitsdependencies.Thesystemcannotfindthefilespecified.重现问题:选择新建、项目,选择.NetFramework2.0作为目标并选择WindowsForms应用程序作为项目类型。在默认创建的表单的属性中,为Icon属性

c# - 异常代码,或检测到 "file already exists"类型的异常

试图回答thisquestion,我惊讶地发现当文件已经存在时尝试创建一个新文件不会抛出唯一的异常类型,它只会抛出一个通用的IOException。因此,我想知道如何确定IOException是现有文件的结果,还是其他一些IO错误。异常有一个HResult,但这个属性是protected,因此我无法使用。我能看到的唯一另一种方法是模式匹配感觉很糟糕的消息字符串。例子:try{using(varstream=newFileStream("C:\\Test.txt",FileMode.CreateNew))using(varwriter=newStreamWriter(stream)){/

c# - 将 JSON 反序列化为 IDictionary<string,object>

这个问题在这里已经有了答案:HowdoIuseJSON.NETtodeserializeintonested/recursiveDictionaryandList?(5个答案)关闭7年前。我正在尝试将一些旧作品转换为使用NewtonsoftJSON.NET。使用System.Web.Script.Serialization.JavaScriptSerializer.Deserialize的默认处理方法(例如,如果未指定目标类型)是返回一个Dictionary用于内部对象。这实际上是JSON的一个非常有用的基本类型,因为它也恰好是ExpandoObjects使用的基础类型。并且是动态类型

C# String.Replace 双引号和文字

我是c#的新手,所以我才在这里问这个问题。我正在使用一个返回一长串XML值的Web服务。因为这是一个字符串,所以所有属性都用双引号转义stringxmlSample=""这是我的问题。我想做一个简单的string.replace。如果我在PHP中工作,我会运行strip_slashes()。但是,我使用的是C#,而且我一辈子都弄不明白。我无法写出我的表达式来替换双引号("),因为它会终止字符串。如果我将其转义,则结果不正确。我做错了什么?stringsearch="\\\"";stringreplace="\"";Regexrgx=newRegex(search);stringstri