草庐IT

c# - 使用数学运算符评估字符串

这个问题在这里已经有了答案:Evaluatingstring"3*(4+2)"yieldint18[duplicate](13个答案)关闭9年前。是否有一种简单的方法来评估像这样的字符串“(4+8)*2”这样您就可以获得24的int值?还是需要做很多工作才能完成...?

用于解析人类可读时间跨度的 C# 库

是否存在可将人类可读时间跨度解析为.NETTimeSpan的库?我需要一些可以解析字符串的东西:30days1week5hours有这样的东西吗?自己写可能不太难,但如果有什么东西在那里,那就容易多了!我目前不需要像“30天3小时5分钟”这样的功能,只需要一个值,但它不会有坏处! 最佳答案 我曾经尝试过这个,我当时在玩解析器,因为我对它们一无所知,所以不要指望质量。但是您可以在这里获取代码:http://timestamper.codeplex.com/我有一段时间没看它了,但我很确定它可以完成您上面提到的所有事情。编辑:刚刚注意到

c# - 有没有一种简单的方法可以将(lambda 表达式)字符串解析为 Action 委托(delegate)?

我有一个方法可以根据传递给它的Action委托(delegate)来改变“帐户”对象:publicstaticvoidAlterAccount(stringAccountID,ActionAccountAction){AccountsomeAccount=accountRepository.GetAccount(AccountID);AccountAction.Invoke(someAccount);someAccount.Save();}这按预期工作...AlterAccount("Account1234",a=>a.Enabled=false);...但现在我想尝试做的是有一个像这

c# - .NET 的 CSV 解析选项

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。6年前关闭。Improvethisquestion我正在查看基于MS堆栈的分隔文件(例如CSV、制表符分隔等)解析选项,特别是.net。我唯一排除的技术是SSIS,因为我已经知道它不能满足我的需求。所以我的选择似乎是:Regex.SplitTextFieldParserOLEDBCSVParser我必须满足两个标准。首先,给定以下文件,其中包含两个逻辑数据行(总共五个物理行):101,Bob,"Keepshishouse""clean"

当类与命名空间共享名称时出现 C# 错误

程序集1namespaceFoo{publicclassFoo{}}程序集2usingFoo;publicclassBar{Foofoo=newFoo();}我今天发现上面给出了错误Typenameexpectedbutnamespacenamefound。我觉得这很奇怪。据我所知,你不能声明一个命名空间变量,或者new()一个命名空间。Foo是一种类型,它被用在解析器希望找到类型的地方,那么为什么解析器不能正确解析它呢?我忽略了哪个语言功能,这意味着编译器团队无法实现它? 最佳答案 EricLippert的博客文章(部分one;t

c# - 为什么 Enum.Parse() 返回对象?

这里有很多关于将字符串转换为枚举值的问题。通常,答案看起来类似于thisquestion上的答案。:StatusEnumMyStatus=(StatusEnum)Enum.Parse(typeof(StatusEnum),"Active",true);虽然这是一个非常合理的答案,并且您可以编写一个方法来简化调用,但它没有回答为什么Enum.Parse()返回object的问题。而不是适当的枚举值。为什么我必须将它转换为StatusEnum?编辑:基本上,问题是为什么像这样的函数不是Enum类的一部分?publicstaticTParse(stringvalue)whereT:struc

c# - 评估数学表达式的最佳算法?

评估数学表达式的最佳算法是什么?我希望能够稍微优化一下,因为我可能有一个包含各种变量的公式,我可能需要使用不同的变量对其进行数百次评估。所以基本上,如果我最初可以解析公式,以便以某种方式对其进行优化,然后我可以根据需要多次将变量传递给这个优化版本,每次它都会为我生成一个结果。我将使用Delphi或C#编写此代码。我已经使用调车场算法编写了类似的东西,但每次我需要计算相同的公式时,我都必须经过解析阶段。必须有更好的方法来做到这一点。 最佳答案 如果你想用Delphi来做,你可以看看JclExprEval单元是如何工作的,它是JEDIC

C# float.Parse 字符串

我是C#新手,需要从文件中读取float值(x,y,z)。看起来像:0-0.01-0.0020.000833333333333-0.01-0.002如果我正在尝试floatnumber=float.Parse("0,54");//itworkswell,butfloatnumber=float.Parse("0.54");//gainsexepction.我从每一行读取值的代码(可能有问题):intbegin=0;intend=0;for(inti=0;i有人可以帮忙吗? 最佳答案 float.Parse(string)method

c# - 在 C# 中解析大型 XML(大小为 1GB)的最佳方法是什么?

我有一个1GB的XML文件并且想解析它。如果我使用XMLTextreader或XMLDocument,结果会很慢,有时会挂起... 最佳答案 您必须使用xmlreader实现自定义逻辑。xmlreader在使用之前不会将完整的XML加载到内存中,这意味着您可以从流中读取它并照此处理它。 关于c#-在C#中解析大型XML(大小为1GB)的最佳方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

C# 将字符串解析为运行时已知的类型

我有一个包含类的一些变量的文件,每一行都是一对:变量,值。我正在寻找一种使用反射在运行时加载它们的方法(a-laXmlSerializer)。有没有办法将string解析为仅在运行时已知的Type?以下是一厢情愿的代码示例,其中最后一行(带有pi.SetValue())不正确,因为PropertyType属于Type没有通用的Parse()方法。using(varsr=newStreamReader(settingsFileName)){Stringline;while((line=sr.ReadLine())!=null){String[]configValueStrs=line.T