草庐IT

C#属性和ref参数,为什么不加糖?

我刚刚在使用C#时遇到了这个错误消息Apropertyorindexermaynotbepassedasanoutorrefparameter我知道是什么原因造成的,并快速解决了创建一个正确类型的局部变量,用它作为out/ref参数调用函数,然后将其分配回属性:RefFn(refobj.prop);变成{vart=obj.prop;RefFn(reft);obj.prop=t;}很明显,如果属性在当前上下文中不支持get和set,这将失败。为什么C#不直接为我做这件事?我能想到的唯一可能导致问题的情况是:线程异常(exception)情况对于线程,转换会影响写入发生的时间(在函数调用之

c# - 属性或索引器不能作为 out 或 ref 参数传递

我收到上述错误并且无法解决。我用谷歌搜索了一下,但无法摆脱它。场景:我有一个BudgetAllocate类,它的属性是budget,它是double类型。在我的dataAccessLayer中,在我的一个类(class)中,我正在尝试这样做:double.TryParse(objReader[i].ToString(),outbd.Budget);这是抛出这个错误:Propertyorindexermaynotbepassedasanoutorrefparameteratcompiletime.我什至试过这个:double.TryParse(objReader[i].ToString(

c# - 引用分配是原子的,那么为什么需要 Interlocked.Exchange(ref Object, Object) 呢?

在我的多线程asmxWeb服务中,我有一个我自己的类型SystemData的类字段_allData,它由几个List组成和Dictionary标记为volatile.系统数据(_allData)偶尔会刷新一次,我通过创建另一个名为newData的对象来实现。并用新数据填充它的数据结构。完成后,我只需分配privatestaticvolatileSystemData_allDatapublicstaticboolLoadAllSystemData(){SystemDatanewData=newSystemData();/*fillnewDatawithup-to-datedata*/..

c# - C# 中的引用类型变量 "ref"有什么用?

我知道如果我传递一个值类型(int、struct等)作为参数(没有ref关键字),该变量的副本被传递给该方法,但如果我使用ref关键字,传递的是对该变量的引用,而不是新的引用。但是对于引用类型,比如类,即使没有ref关键字,引用也会传递给方法,而不是副本。那么ref关键字和引用类型有什么用呢?举个例子:varx=newFoo();以下有什么区别?voidBar(Fooy){y.Name="2";}和voidBar(refFooy){y.Name="2";} 最佳答案 您可以使用y更改foo指向的内容:Foofoo=newFoo("1

c# - 何时使用 in vs ref vs out

前几天有人问我什么时候应该使用参数关键字out而不是ref。虽然我(我认为)理解ref和out关键字(一直是askedbefore)之间的区别,但最好的解释似乎是ref==in和out,我应该始终使用out而不是的一些(假设或代码)示例引用。既然ref更通用,为什么还要使用out?它只是语法糖吗? 最佳答案 除非你需要ref,否则你应该使用out。当数据需要编码时,它会产生很大的不同,例如到另一个过程,这可能是昂贵的。因此,您希望避免在方法未使用初始值时编码初始值。除此之外,它还向声明或调用的读者显示初始值是相关的(并可能保留)还是

c# - .NET 中 ref 和 out 参数的区别

这个问题在这里已经有了答案:What'sthedifferencebetweenthe'ref'and'out'keywords?(27个答案)关闭4年前。.NET中的ref和out参数有什么区别?在什么情况下一个比另一个更有用?一个可以使用而另一个不能使用的代码片段是什么?

javascript - Firebase - ref 和 child 有什么区别?

在Firebase中,ref和child被大量使用。例如-firebase.database().ref('users/')将与firebase.database().ref('users').child('')完全相同,那么它们之间到底有什么区别,什么时候应该使用它们? 最佳答案 没有区别,无论如何你有一个DatabaseReference实例。Firebase引用代表数据库中的特定位置,可用于读取数据或将数据写入该数据库位置。方法:publicDatabaseReferencegetReference(Stringpath)获取

ruby-on-rails - Git pull 错误 : "fatal: Couldn' t find remote ref master"from Heroku

我在heroku上上传了我的应用程序。但我面临一些问题。问题是什么:致命的:'priroda'似乎不是git存储库?~/priroda$gitpullfatal:'priroda'doesnotappeartobeagitrepositoryfatal:Theremoteendhungupunexpectedly~/priroda$gitremote-vherokugit@heroku.com:secure-anchorage-3129.git(fetch)herokugit@heroku.com:secure-anchorage-3129.git(push)originpriroda

带有彩色格式字符串的 git for-each-ref

我使用gitfor-each-ref作为git别名来显示分支名称和该分支上最后一次提交的主题。也就是说,很难分辨分支名称在哪里结束以及提交消息主题从哪里开始,所以我试图对分支名称进行着色以更容易地分辨两者之间的区别。下面是没有颜色的工作别名:[alias]logbranch=for-each-ref--sort=-committerdaterefs/heads/--format='%(refname:short)%(subject)'为了添加颜色,我尝试使用外壳颜色转义(我正在使用bash),如下所示:[alias]logbranch=for-each-ref--sort=-commi

混帐 1.8 : it push error: dst ref refs/heads/master receives from more than one src

git1.8的另一个问题:$gitpusherror:dstrefrefs/heads/masterreceivesfrommorethanonesrc.error:failedtopushsomerefsto'gitosis@xxx.xx:xxx.git'建议?它在升级到1.8之前一直有效。$gitremote-vorigingitosis@xxx.xx:xxx.git(fetch)origingitosis@xxx.xx:xxx.git(push)谷歌搜索后我首先尝试了这个:$gitpushorigin:refs/heads/refs/heads/masterremote:warn