草庐IT

c# - 如何让异常在 C# 中定义自己的消息?

我想定义一个具有两个特殊属性的自定义异常:Field和FieldValue,并且我希望根据异常构造函数中的这两个值构建消息。不幸的是,消息是只读的。这就是我所拥有的,但它仍然需要传递消息。publicclassFieldFormatException:FormatException{privateFields_field;privatestring_fieldValue;publicFieldsField{get{return_field;}}publicstringFieldValue{get{return_value;}}publicFieldFormatException():b

c# - 检查字符串是否为 null 或为空,否则将其修剪

我尝试了以下方法:dummy.Title=ds1Question.Title.null?"Dummytitle":ds1Question.Title.Trim();我期待看到类似nullorempty的智能感知,但似乎没有什么可以做到这一点。还有其他方法吗? 最佳答案 这是无效的:ds1Question.Title.null你可以拥有:dummy.Title=ds1Question.Title==null?"Dummytitle":ds1Question.Title.Trim();或者使用:dummy.Title=(ds1Quest

c# - 从字符串中提取数字以创建仅数字字符串

这个问题在这里已经有了答案:Bestwaytogetalldigitsfromastring[duplicate](5个答案)关闭3年前。我收到了一些格式不正确的数据,需要从字符串中提取数字。我不确定最好的方法是什么。数字可以是任意长度。stringa="557222]]>";stringb="5100870";知道我能做什么所以我会得到这个:a="557222"b="5100870"谢谢解决方案适用于C#抱歉。编辑问题以具有该标签

c# - 获取前 25 个字符的小方法

谁能想到更好的方法来执行以下操作:publicstringShortDescription{get{returnthis.Description.Length我本来想只执行string.Substring(0,25)但如果字符串小于提供的长度,它会抛出异常。 最佳答案 我经常需要这个,我为它写了一个扩展方法:publicstaticclassStringExtensions{publicstaticstringSafeSubstring(thisstringinput,intstartIndex,intlength,stringsu

c# - ReverseString,一个 C# 面试题

我有一个面试问题,要求我对初级程序员编写的一段代码提供“反馈”。他们暗示可能存在问题,并表示它将大量用于大型字符串。publicstringReverseString(stringsz){stringresult=string.Empty;for(inti=sz.Length-1;i>=0;i--){result+=sz[i]}returnresult;}我没发现。我没有看到任何问题。事后看来,我本可以说用户应该调整大小,但看起来C#没有调整大小(我是C++人)。我最后写了一些东西,比如尽可能使用迭代器,容器中的[x]不能随机访问,所以它可能很慢。和杂项。但我明确地说我从来没有优化过C

c# - 编码 va_list

我有以下代码:[UnmanagedFunctionPointer(CallingConvention.Cdecl)]publicdelegatevoidPanicFuncDelegate(stringstr,IntPtrargs);privatevoidPanicFunc(stringstr,IntPtrargs){LogFunc("PANIC",str,args);}publicvoidLogFunc(stringseverity,stringstr,IntPtrargs){vprintf($"[{severity}]"+str,args);}[DllImport("libc.so.

c# - 反序列化 XML 时出现 FileNotFoundException

我们最近开始看到在反序列化XML时偶尔会抛出FileNotFoundException。消息是找不到用于从XML映射到代码的临时程序集。来自this文档看起来当.NETFramework无法创建此文件时可能会发生这种情况(但是即使在内部异常中也未捕获的原因)。异常(exception)情况:Type:System.IO.FileNotFoundException,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089Message:Couldnotfindfile'C:\DocumentsandS

c# - StartsWith 应该只用于订购吗?

我正在阅读Microsoft的BestPracticesforUsingStringsinthe.NETFramework.它给出了以下示例作为对StringComparison.OrdinalIgnoreCase的介绍:publicstaticboolIsFileURI(stringpath){returnpath.StartsWith("FILE:",StringComparison.OrdinalIgnoreCase);}到目前为止,还不错。但它接着说:However,theprecedingexampleusestheString.StartsWith(String,Strin

c# - 将字符串解析为动态类型的最快、高效、优雅的方式?

我正在寻找在旅途中将字符串转换为各种数据类型的最快(通用方法)。我正在解析由某物生成的大型文本数据文件(文件大小为几兆字节)。此特定函数读取文本文件中的行,根据分隔符将每一行解析为列,并将解析后的值放入.NET数据表中。稍后将其插入到数据库中。FAR的瓶颈是字符串转换(Convert和TypeConverter)。我必须采用动态方式(即远离“Convert.ToInt32”等...),因为我永远不知道文件中将包含哪些类型。类型由运行时早期的配置决定。到目前为止,我已经尝试了以下操作,并且都需要几分钟来解析文件。注意如果我注释掉这一行,它只会在几百毫秒内运行。row[i]=Convert

c# - 执行 SQL 查询时显示进度条

我想在从SQL数据库读取数据时通知用户我决定创建一个带有进度条的表单,但它不起作用——可能是因为需要一个线程。我想以编程方式创建表单ProgressBarpb=newProgressBar();pb.MarqueeAnimationSpeed=30;pb.Style=ProgressBarStyle.Marquee;pb.Dock=DockStyle.Fill;progressForm.ClientSize=newSize(200,50);progressForm.FormBorderStyle=FormBorderStyle.FixedDialog;progressForm.Star