草庐IT

pdo_parse_params

全部标签

c# - 在方法覆盖中更改 params 修饰符

我知道params修饰符(将数组类型的一个参数转换为所谓的“参数数组”)不是方法签名的一部分。现在考虑这个例子:classGiraffid{publicvirtualvoidEat(int[]leaves){Console.WriteLine("G");}}classOkapi:Giraffid{publicoverridevoidEat(paramsint[]leaves){Console.WriteLine("O");}}编译时没有警告。然后说:varokapi=newOkapi();okapi.Eat(2,4,6);//willnotcompile!给出错误(方法“Eat”没有重

c# - params[] 可以作为 lambda 表达式的参数吗?

这个问题在这里已经有了答案:VariableparametersinC#Lambda(5个答案)关闭1年前。我最近开始探索lambda表达式,想到了一个问题。假设我有一个函数需要不确定数量的参数。我会使用params关键字来为可变数量的参数建模。我的问题:我可以用Lambda表达式做类似的事情吗?例如:Funcfoo=(paramsnumbers[])=>{intresult;foreach(intnumberinnumbers){result+=numbers;}returnresult;}如果是这样,就会出现两个子问题-是否有一种“好的”方式来编写这样的表达式,我什至想在某个时候编

c# - "8"的 int.Parse 失败。 int.Parse 总是需要 CultureInfo.InvariantCulture?

我们开发了一个既定的软件,它可以在所有已知的计算机上正常工作,除了一台。问题是解析以“8”开头的字符串。似乎字符串开头的“8”是保留字符。Parsing:int.Parse("8")->Exceptionmessage:Inputstringwasnotinacorrectformat.int.Parse("80")->0int.Parse("88")->8int.Parse("8100")->100CurrentCulture:sv-SECurrentUICulture:en-US使用int.Parse("8",CultureInfo.InvariantCulture)解决了这个问题

c# - LINQ to Entities 无法识别方法 'Int32 Parse(System.String)' 方法,并且无法将此方法翻译成存储表达式

我正在使用EntityFramework,我有一行代码将var转换回数据库的iint。varrecord=context.enrollments.SingleOrDefault(row=>row.userId==int.Parse(UserID)&&row.classId==int.Parse(ClassID));每当我尝试运行它时,我都会收到rhis错误。“LINQtoEntities无法识别‘Int32Parse(System.String)’方法,并且无法将此方法转换为存储表达式。”我也试过varrecord=context.enrollments.FirstOrDefault(

c# - 如何使用 DateTime.Parse() 创建 DateTime 对象

如果我有一个格式为yyyyMMddHHmmssfff的字符串,例如20110815174346225。我将如何从该字符串创建DateTime对象。我尝试了以下DateTimeTimeStamp=DateTime.Parse(Data[1],"yyyyMMddHHmmssfff");但是我得到了这些错误:Error1Thebestoverloadedmethodmatchfor'System.DateTime.Parse(string,System.IFormatProvider)'hassomeinvalidargumentsC:\DocumentsandSettings\rkelly

c# - 使用具有 "params"参数的反射调用函数 (MethodBase)

我有两个函数的MethodBases:publicstaticintAdd(paramsint[]parameters){/*...*/}publicstaticintAdd(inta,intb){/*...*/}我有一个通过我创建的类调用MethodBases的函数:MethodBaseMethod;objectTarget;publicobjectcall(paramsobject[]input){returnMethod.Invoke(Target,input);}现在如果我AddTwoMethod.call(5,4);它工作正常。如果我使用AddMethod.call(5,4)

c# - Enum.Parse() 或 Switch

对于将字符串转换为枚举,以下哪种方式更好?这段代码:colorEnumcolor=(colorEnum)Enum.Parse(typeof(colorEnum),"Green");或者这个:stringcolorString=...colorEnumcolor;switch(colorString){case"Green":color=colorEnum.Green;break;case"Red":color=colorEnum.Red;break;case"Orange":color=colorEnum.Orange;break;....} 最佳答案

c# - 为什么逗号在具有 InvariantCulture 的 int.Parse() 和 decimal.Parse() 中表现不同?

为什么:decimal.Parse("1,2,3,45",CultureInfo.InvariantCulture)返回小数12345,然而:int.Parse("1,2,3,45",CultureInfo.InvariantCulture)抛出异常?我希望逗号在相同的文化中得到相同的对待。如果decimal.Parse返回12345,为什么int.Parse不返回12345? 最佳答案 SeeNumberStylesint的默认NumberStyles是Integer:IntegerIndicatesthattheAllowLea

c# - 为什么 float.parse 返回错误值?

我有一个问题。当我将像“0.005”这样的字符串解析为float或double时,它在我的电脑上运行良好,但当我将我的程序安装到我的客户端电脑时,它返回5。(我的电脑和我的客户端电脑都使用Windows7x64).这是我的例子publicfloatgetFloat(){floatmn=float.Parse("0.005");doublemn2=Convert.ToDouble("0.005");returnmn;} 最佳答案 这可能是系统文化设置的问题。试试这个:float.Parse("0.005",CultureInfo.In

c# - DateTime.Parse 日期格式

我有一个用字符串表示的日期20130116154407我为此调用了DateTime.Parse,但它失败了。如何将其转换为DateTime?顺便说一句,时区是CET。编辑目前提供的解决方案非常有用,但似乎不支持24小时制,仍在寻找支持的解决方案。编辑2正确的格式是DateTime.ParseExact(str,"yyyyMMddHHmmss",CultureInfo.InvariantCulture)谢谢,萨钦 最佳答案 您需要指定格式:DateTime.ParseExact(str,"yyyyMMddHHmmss",Culture