草庐IT

OUT_VALUE

全部标签

c# - 为什么 Int32.TryParse 在无法转换时重置 out 参数?

如果我运行这个C#代码intrealInt=3;stringfoo="bar";Int32.TryParse(foo,outrealInt);Console.WriteLine(realInt);Console.Read();我得到0。我想知道为什么!因为我找不到任何原因。这迫使我为每次解析创建临时变量。所以,请!宇宙大码农,赐教! 最佳答案 是“out”,不是“ref”。在方法内部,它必须分配它(无需先阅读它)以满足“out”的含义。实际上,“out”是一个语言问题(不是框架问题)——因此托管C++实现可能会忽略这一点……但遵循它

c# - 打开可空 bool 值 : case goes to null when value is true

我意识到处理可空类型的正确方法是使用HasValue属性。但我想知道为什么以下switch语句会在null情况下而不是默认情况下中断。使用VS2015C#4.0。另一台使用VS2010C#4.0的计算机没有同样的问题。privatevoidTesting(){bool?boolValue=true;switch(boolValue){casenull:break;//eventhoughvalueistrue,coderunsheredefault:break;}}编辑:观察到任何Nullable的行为如果只有caseNull和default已指定。 最佳答

c# - 打开可空 bool 值 : case goes to null when value is true

我意识到处理可空类型的正确方法是使用HasValue属性。但我想知道为什么以下switch语句会在null情况下而不是默认情况下中断。使用VS2015C#4.0。另一台使用VS2010C#4.0的计算机没有同样的问题。privatevoidTesting(){bool?boolValue=true;switch(boolValue){casenull:break;//eventhoughvalueistrue,coderunsheredefault:break;}}编辑:观察到任何Nullable的行为如果只有caseNull和default已指定。 最佳答

c# - CodeContracts : Boolean condition evaluates to a constant value, 为什么?

我收到此警告但无法找出问题...CodeContracts:warning:TheBooleanconditiond1.Count!=d2.Countalwaysevaluatestoaconstantvalue.Ifit(oritsnegation)appearinthesourcecode,youmayhavesomedeadcodeorredundantcheck代码如下:publicstaticboolDictionaryEquals(IDictionaryd1,IDictionaryd2){if(d1==d2)returntrue;if(d1==null||d2==null)

c# - 是否可以有一个 out ParameterExpression?

我想定义一个带有out参数的Lambda表达式。有可能做到吗?下面是我尝试过的C#.Net4.0控制台应用程序的代码片段。正如您在程序25中看到的那样,我可以使用lambda表达式来定义具有输出参数的委托(delegate),但是,当我想使用linq表达式执行相同操作时,程序24中的代码失败并显示:System.ArgumentExceptionwasunhandledMessage=ParameterExpressionoftype'System.Boolean'cannotbeusedfordelegateparameteroftype'System.Boolean&'Source

C# 4.0 'dynamic' 没有设置 ref/out 参数

我正在试验DynamicObject。我尝试做的一件事是设置ref/out参数的值,如下面的代码所示。但是,我无法正确设置Main()中的i和j的值(即使它们在TryInvokeMember())。有谁知道如何使用ref/out参数调用DynamicObject对象并能够检索方法中设置的值?classProgram{staticvoidMain(string[]args){dynamicproxy=newProxy(newTarget());inti=10;intj=20;proxy.Wrap(refi,refj);Console.WriteLine(i+":"+j);//Print"

c# - 在 Linq-To-Sql 中避免 "Nullable object must have a value."

我有一个这样的方法查询:publicIListGetBusinessObject(Guid?filterId){using(vardb=newL2SDataContext()){varresult=fromboindb.BusinessObjectswhere(filterId.HasValue)?bo.Filter==filterId.value:trueorderbybo.NameselectSqlModelConverters.ConvertBusinessObject(bo);returnresult.ToList();}}在运行时,这会抛出一个System.InvalidOp

c# - .Net WebServices 和 out/ref WebMethod 参数

我从我们的供应商之一那里收到了一些他们正在发布的网络服务的文档,他们非常具体地指出,在他们的一个WebMethods上,一个参数有out修饰符(?不确定这是否是正确的描述符)例如考虑以下WebMethod签名:[WebMethod]publicvoidHelloWorld(outstringstrVal){strVal="HelloWorld";}[显然实际方法不是HelloWorld方法]现在,我从未考虑过设计带有out/ref参数的WebMethod,这让我想知道他们为什么会使用它。为了理解这个设计决定的应用,我将一个原型(prototype)和一些基本的HelloWorld风格的

c# - 将 DBNull.Value 和空文本框值传递给数据库

这个问题在这里已经有了答案:HowdoIParameterizeanullstringwithDBNull.Valueclearlyandquickly(8个答案)关闭8年前。我的页面上有一些文本框可以为空,因为它们是可选的,而且我有这个DAL代码parameters.Add(newSqlParameter("@FirstName",FirstName));parameters.Add(newSqlParameter("@LastName",LastName));parameters.Add(newSqlParameter("@DisplayName",DisplayName));pa

c# - 流利的断言 : Assert one OR another value

使用流畅的断言,我想断言给定的字符串包含两个字符串之一:actual.Should().Contain("oneWay").Or().Should().Contain("anotherWay");//eitervalueshouldpasstheassertion.//forexample:"youmaydoitoneWay."shouldpass,but//"youmaydoitthisWay."shouldnotpass只有当两个值都不包含时,断言才会失败。这不起作用(甚至无法编译),因为没有Or()运算符。我现在是这样做的:boolisVariant1=actual.Contai