草庐IT

vector_tostr

全部标签

c# - StringBuilder.ToString() 抛出 OutOfMemoryException

我创建了一个长度为“132370292”的StringBuilder,当我尝试使用ToString()方法获取字符串时,它抛出OutOfMemoryException.StringBuilderSB=newStringBuilder();for(inti=0;i创建新字符串时OOM的原因是什么?为什么在写入文件时不会抛出OOM?机器详细信息:64位、Windows-7、2GBRAM、.NET2.0版 最佳答案 WhatisthereasonfortheOOMwhilecreatinganewstring因为内存不足-或者至少,CLR

c# - 最有效的 Dictionary<K,V>.ToString() 格式?

将字典转换为格式化字符串的最有效方法是什么。例如:我的方法:publicstringDictToString(Dictionaryitems,stringformat){format=String.IsNullOrEmpty(format)?"{0}='{1}'":format;stringitemString="";foreach(variteminitems){itemString=itemString+String.Format(format,item.Key,item.Value);}returnitemString;}有没有更好/更简洁/更高效的方式?注意:字典最多有10个项

c# - 使用 ToString ("F1"时 float 的舍入不正确)

我有一个浮点值:12345.6489当我格式化时使用:(12345.6489f).ToString("F1")然后我得到一个结果12345.7但这是不正确的,因为它应该是12345.6。有谁知道为什么会发生这种情况?另一个提示是,在格式化之前转换为double会返回正确的结果,如果我的浮点值小一点,例如1234.6489,那么我也会得到正确的结果。 最佳答案 这好像和我前段时间问的一个问题有关:Round-twiceerrorin.NET'sDouble.ToStringmethod请注意,如果您对号码调用.ToString("G"

c# - 不必要地转换为用于在 mscorlib 中调用 ToString() 的对象

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。在StringWriter(mscorlib.dll)中我找到了一段代码:privateStringBuilder_sb;//(...)publicoverridestringToString(){return((object)this._sb).ToString();}我看不出原因(我的R#也是,但有时是错误的)。ToString()是virtual因此

c# - 为什么 Request.Form.ToString() 的返回值与 NameValueCollection.ToString() 的结果不同

好像HttpContext.Request.Form中的ToString()被修饰了所以结果不一样从直接在NameValueCollection上调用时从ToString()返回的那个:NameValueCollectionnameValue=Request.Form;stringrequestFormString=nameValue.ToString();NameValueCollectionmycollection=newNameValueCollection{{"say","hallo"},{"from","me"}};stringnameValueString=mycollec

c# - 没有数据时强制 XDocument.ToString() 包含结束标记

我有一个如下所示的XDocument:XDocumentoutputDocument=newXDocument(newXElement("Document",newXElement("Stuff")));当我打电话的时候outputDocument.ToString()对此的输出:但我希望它看起来像这样:我知道第一个是正确的,但我必须这样输出。有什么建议吗? 最佳答案 将每个空XElement的Value属性专门设置为一个空字符串。//Note:Thiswillmutatethespecifieddocument.privatest

c# - 为整数类型调用 ToString 时是否涉及装箱?

非常简单的问题:inta=5;stringstr=a.ToString();既然ToString是System.Object的一个虚方法,是否意味着每次我为整数类型调用这个方法时,都会发生装箱? 最佳答案 你已经得到了答案告诉你什么时候ToString()被值类型覆盖,调用它时不会有装箱,但有一些实际看到它的方法很好。取类型int?(Nullable)。这是一个有用的类型,因为它是一个值类型,但是装箱可能会产生空引用,并且不能通过空引用调用实例方法。它确实有一个被覆盖的ToString()方法。它没有(也不可能有)重写的GetTyp

c# - 在 .NET 中使用字符串格式 "M"发出 DateTime.ToString

我对DateTime的字符串格式有疑问。我认为这是MS中的错误。你能解释一下吗?有什么问题吗?classProgram{staticvoidMain(string[]args){Console.WriteLine(DateTime.Now.ToString("M"));//return07JulyMSDN 最佳答案 来自The"M"CustomFormatSpecifierIfthe"M"formatspecifierisusedwithoutothercustomformatspecifiers,itisinterpretedas

C# DateTime ToString ("MM-dd-yyyy") 返回有趣的日期值

我在ASP.Net页面的代码隐藏文件中有以下代码txtStartDate.Text=DateTime.Today.ToString("MM-dd-yyyy");我希望返回“09-11-2009”。但是,当我在开发服务器上运行该页面时,我在文本框中看到“09-00-2009”。我看不出有任何原因,所以我显然遗漏了一些东西。有人知道吗? 最佳答案 我不明白为什么它会显示00,但作为一个随机建议,您可以尝试:...=DateTime.Today.ToString("MM-dd-yyyy",CultureInfo.InvariantCult

c# - String.Format 与 ToString 和使用 InvariantCulture

我在这里有点困惑。我应该用什么Console.WriteLine((val/1085).ToString("N"));VSConsole.WriteLine(String.Format("{0:N}",(val/1085)));另外,如何适应InvariantCulture?任何最佳实践:)? 最佳答案 其实我更喜欢第三种形式:Console.WriteLine("{0:N}",val/1085);Console.WriteLine可以为您完成String.Format。Console.WriteLine不允许您提供文化。如果那是您