草庐IT

BOOL_VAR_H

全部标签

c# - 除了 LINQ,有人发现 "var"的用途吗?

只是好奇。我大约99.999%确定没有...但有什么?编辑:这些都是好的答案(节省打字时间或使代码不那么冗长以提高“可读性”)。我想我应该澄清一下我所说的“使用”是什么意思——一些没有“var”就无法完成的构造/设计。 最佳答案 什么在可读性方面更好?AReallyReallyLongBusinessObjectNameobj=newAReallyReallyLongBusinessObjectName();或varobj=newAReallyReallyLongBusinessObjectName();我说的是可读性,因为使用va

c# - 将类型 'var' 传递给 C# 中的方法

这个问题在这里已经有了答案:HowcanIreturnananonymoustypefromamethod?(4个答案)关闭9年前。我有一些数据类型为var的子查询。这些正在处理数据表。我想将这些传递给另一种方法,我该怎么做?例如:varsubquery1=fromresultsintable.AsEnumerable()where//someconditionselectnew{column1=results.field1,column2=results.field2etc.,}varsubquery2=fromresultsintable.AsEnumerable()where//

c# - 在 C# 中应用 DeMorgan 定理手动优化条件语句中的 bool 表达式是否有用(例如 if 条件)

回到我用C和C++完成大部分工作的那一天,当然,我会手动申请deMorgan'stheorem优化任何重要的bool表达式。在C#中执行此操作是否有用,或者优化器是否不需要这样做? 最佳答案 在如此快的处理器上,重新排列bool表达式几乎不可能在速度上产生任何实际差异。而且C#编译器非常聪明,它也会优化它。优化可读性和清晰度! 关于c#-在C#中应用DeMorgan定理手动优化条件语句中的bool表达式是否有用(例如if条件),我们在StackOverflow上找到一个类似的问题:

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# - 为什么会为异步/等待状态机生成 bool "flag"?

如果编译以下代码:privateasyncTaskM(){returnawaitTask.FromResult(0);}然后反编译它(我使用了dotPeek)并检查最重要的MoveNext方法,您会看到在开头附近声明了一个bool变量;dotPeek为我选择了“标志”。boolflag=true;在这种情况下,您将在启动第一个异步调用后的默认case语句中看到该变量的一个后续使用者:if(!awaiter.IsCompleted){this.\u003C\u003E1__state=0;this.\u003C\u003Eu__\u0024awaiter11=awaiter;this.\

c# - 如何针对集合调用 Expression<Func<Entity, bool>>

我有一个从存储库模式定义存储库的接口(interface):interfaceIRepository{ListGetAllCustomers(Expression>expression);}我已经在EntityFramework上实现了它:classEntityFrameworkRepository{publicListGetAllCustomers(Expression>expression){returnDBContext.Customers.Where(expression).ToList();}}这似乎工作得很好,它允许我做类似的事情:varcustomers=entityFr

c# - C# 中的 var - 为什么它不能用作成员变量?

这个问题在这里已经有了答案:Implicittyping;whyjustlocalvariables?(6个答案)关闭8年前。为什么在C#中不能在类级别拥有隐式类型的变量,因为当这些变量被立即赋值时?即:publicclassTheClass{privatevaraList=newList();}这只是尚未实现的事情,还是存在未实现的概念/技术原因?

c# - 结构中 C# 固定 bool 数组的大小和对齐方式是什么?

在做P/Invoke的时候,数据布局的匹配很重要。我们可以通过使用一些属性来控制结构的布局。例如:structMyStruct{publicboolf;}给出大小为4。虽然我们可以告诉编译器将其设为1字节bool以匹配bool的C++类型:structMyStruct{[MarshalAs(UnmanagedType.I1)]publicboolf;}大小为1。这些是有道理的。但是当我测试固定的bool数组时,我感到困惑。unsafestructMyStruct{publicfixedboolfs[1];}给出4个字节的大小。和unsafestructMyStruct{publicfi

c# - 将 XML 元素存在反序列化为 C# 中的 bool

我正在尝试将Web服务中的一些XML反序列化为C#POCO。我已经为我需要的大多数属性工作了,但是,我需要根据元素是否存在来设置bool属性,但似乎看不到如何做到这一点?示例XML片段:1C#类示例:[Serializable,XmlRoot("someThing")]publicclassSomething{[XmlAttribute("test")]publicboolTest{get;set;}[XmlElement("someThingElse")]publicintElse{get;set;}//////trueiftargetelementispresent,///othe