草庐IT

null_object

全部标签

c# - 是否检查null

我知道您应该始终检查方法的传入参数是否为空。但是,如果我有一个try/catch引用局部变量的场景怎么办。我真的需要在下面检查null吗?因为如果它为null并且下一行代码尝试使用refundResponse变量,它无论如何都会捕获它:publicstringDoRefund(...){try{......stringrefundTransactionID=string.Empty;......RefundTransactionResponseTyperefundResponse=transaction.DoRefund(...);if(refundResponse!=null)ref

c# - 无法将类型为 'System.Object[]' 的对象转换为 'MyObject[]',这是怎么回事?

场景:我目前正在编写一个层,将3个相似的Web服务抽象为一个可用的类。每个web服务公开一组共享共性的对象。我创建了一组利用共性的中间对象。然而,在我的层中,我需要在Web服务对象和我的对象之间进行转换。在像这样调用Web服务之前,我已经使用反射在运行时创建了适当的类型:publicstaticobject[]CreateProperties(Typetype,IProperty[]properties){//Emptysoreturnnullif(properties==null||properties.Length==0)returnnull;//Checkthetypeisall

c# - 在 .Net/C# 中,null 是强类型的吗?

null有类型吗?空值在内部是如何表示的?以下代码中发生了什么?voidFoo(stringbar){...}voidFoo(objectbar){...}Foo((string)null);编辑:到目前为止,答案并不具体且级别太高。我知道引用类型对象由堆栈上的指针组成,该指针指向堆上的一个位置,其中包含同步块(synchronizedblock)索引、类型句柄和对象的字段。当我将对象的实例设置为null时,堆栈上的指针究竟指向何处?在代码片段中,C#编译器是否只是使用强制转换来决定调用哪个重载,并且没有真的任何null强制转换?我正在寻找了解CLR内部结构的人提供的深入答案。

c# - 适用于 iphone 应用程序的 MonoTouch & C# VS Objective C

问候,我是一名C#程序员。我打算开始为iphone开发应用程序,但我不确定是应该在MonoTouch下使用C#还是只使用iphoneOSObjectiveC的native语言。使用C#或ObjectiveC编写iphone应用程序有什么不同吗?使用C#编写iphone应用程序是否有限制,或者它可以像ObjectiveC一样开发iphone应用程序? 最佳答案 MonoTouch封装了大部分但不是所有的iPhoneSDK。所以,是的,有些事情(目前)你还不能做,但它们相对较少而且相差甚远。许多.Net用户发现他们使用MonoTouch

c# - 将对象转换为 IEnumerable<object>?

如何转换object至IEnumerable?我知道对象实现了IEnumerable但我不知道它是什么类型。它可以是一个数组,一个List,或其他。我正在尝试开始工作的一个简单测试用例:staticvoidMain(string[]args){objectarr=new[]{1,2,3,4,5};foreach(variteminarrasIEnumerable)Console.WriteLine(item);Console.ReadLine();} 最佳答案 我遇到了协方差不支持值类型的相同问题,我有一个object与实际类型Li

c# - MVC 错误 : The model item passed into the dictionary is null

我只是想建立一个View,但我收到以下错误:System.InvalidOperationException:Themodelitempassedintothedictionaryisnull,butthisdictionaryrequiresanon-nullmodelitemoftype'System.DateTime现在,我知道为什么会出现这种情况,数据库中的特定字段是空值,但它应该是空值,因为这是稍后编辑的内容。这是我的代码:ActionpublicActionResultView(Int64?Id){ModelContainerctn=newModelContainer();

c# - SQLException (0x80131904) : Invalid object name 'dbo.Categories'

我在运行应用程序时遇到上述异常。该应用程序正在使用asp.netmvc3/C#。我制作了一个mdf文件并将其添加到VisualWebDeveloperExpress的App_Data文件夹下。我将连接字符串添加到web.config文件夹,但是当我运行并浏览到/store时,我收到上面的错误,并突出显示varcategories=storeDB.Categories.ToList();行。我的数据库包含6个表,其中一个是类别。Controller:EventCalendarEntitiesstoreDB=newEventCalendarEntities();publicActionRe

c# - "value cannot be null parameter name: key"

我在调试我正在处理的网站时遇到“蓝屏死机”。错误信息是“valuecannotbenull.Parametername:key.”我正在尝试将formview绑定(bind)到gridview的选定索引。当我在我的selectedindexchanged方法中设置断点时,一切似乎都正确绑定(bind),我可以查看我的formview的值,但是当我继续运行它时,我收到上述错误消息。我尝试将datakeynames属性添加到formview并得到相同的错误消息。我在这里和谷歌搜索并看到了一些结果,但似乎没有一个能解决或与我的问题相关。部分代码如下:protectedvoidGridView

c# - 为什么在检查 null 后需要显式转换?

intfoo;int?bar;if(bar!=null){foo=bar;//doesnotcompilefoo=(int)bar;//compilesfoo=bar.Value;//compiles}我早就知道第一个陈述是不正确的,但它一直困扰着我。我已验证bar不为空,那么为什么编译器会报错? 最佳答案 比较只是说-它不是null,编译器仍然使用类型来查看是否可以进行赋值。即使没有进行null检查,以下代码也能编译。foo=(int)bar; 关于c#-为什么在检查null后需要显式

c# - 在 'object' 上找不到 WPF/XAML 属性

我在一个新的WPF应用程序中使用BackgroundWorker,我需要在它在后台工作时报告进度/更新UI。我在WIndowsForms应用程序中已经这样做了很长时间。我刚刚为WPF重写了这一切,这让我有点头疼。它在运行时不断抛出以下错误:System.Windows.DataError:40:BindingExpressionpatherror:'Sender'propertynotfoundon'object'''Char'(HashCode=5046349)'.BindingExpression:Path=Sender;DataItem='Char'(HashCode=50463