草庐IT

non-assignable

全部标签

c# - 性能 : assign boolean value always or check value first?

我确定它可以忽略不计,但考虑到我想从一个方法中将true分配给一个boolean字段,这个选择有什么不同吗?如果是,为什么?field=true;//couldalreadybetrue,butIdon'tcare对比if(!field)field=true; 最佳答案 我会说不。但这确实取决于我们真正谈论的是一个字段,而不是一个属性,后者可能(尽管它绝对不应该)在您包含的两个片段中表现出不同的行为(即,如果setter/getter中存在带有副作用的逻辑)。更新:如果您谈论的是性能开销,那实际上没有区别——但是我相信赋值的开销要小

c# - C# : "An object reference is required for the non-static field, method, or property" 错误

我在WPF中编写代码。首先,我编写了一个单独的项目来测试COMport的工作。设备,并且运行良好。接下来我决定将它集成到另一个项目中,但我得到了一个错误。我没有更改代码;我只是将它复制到一个新的代码文件中。此代码运行良好:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usi

c# - C# : "An object reference is required for the non-static field, method, or property" 错误

我在WPF中编写代码。首先,我编写了一个单独的项目来测试COMport的工作。设备,并且运行良好。接下来我决定将它集成到另一个项目中,但我得到了一个错误。我没有更改代码;我只是将它复制到一个新的代码文件中。此代码运行良好:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents;usi

c# - CS0133 "The expression being assigned to ' identifier' must be constant”- 这背后的原因是什么?

有了很多C++背景,我已经习惯了编写以下内容:constintcount=...;//somenon-trivialstuffherefor(inti=0;i而且我希望在C#中也能正常工作。然而……byte[]buffer=newbyte[4];constintcount=buffer.Length;产生错误CS0133:分配给“count”的表达式必须是常量。我不明白。为什么那是无效的?int是一个值类型,不是吗?为什么我不能通过这种方式分配一个值并使变量不可更改? 最佳答案 因为C#中的const比C++中的const更多con

c# - CS0133 "The expression being assigned to ' identifier' must be constant”- 这背后的原因是什么?

有了很多C++背景,我已经习惯了编写以下内容:constintcount=...;//somenon-trivialstuffherefor(inti=0;i而且我希望在C#中也能正常工作。然而……byte[]buffer=newbyte[4];constintcount=buffer.Length;产生错误CS0133:分配给“count”的表达式必须是常量。我不明白。为什么那是无效的?int是一个值类型,不是吗?为什么我不能通过这种方式分配一个值并使变量不可更改? 最佳答案 因为C#中的const比C++中的const更多con

c# - 错误 : The Out Parameter must be assigned before control leaves the current method

发送回参数时出现此错误Error:TheOutParametermustbeassignedbeforecontrolleavesthecurrentmethod代码是publicvoidGetPapers(stringweb,outintId1,outintId2){SqlConnectionconn=newSqlConnection(ConnectionString());conn.Open();SqlCommandcmd=newSqlCommand("GetPapers",conn);cmd.CommandType=CommandType.StoredProcedure;cmd.

c# - 错误 : The Out Parameter must be assigned before control leaves the current method

发送回参数时出现此错误Error:TheOutParametermustbeassignedbeforecontrolleavesthecurrentmethod代码是publicvoidGetPapers(stringweb,outintId1,outintId2){SqlConnectionconn=newSqlConnection(ConnectionString());conn.Open();SqlCommandcmd=newSqlCommand("GetPapers",conn);cmd.CommandType=CommandType.StoredProcedure;cmd.

查看Kafka集群下所有的topic报错“Timed out waiting for a node assignment. Call: listTopics“

异常[root@centos7_101kafka]#bin/kafka-topics.sh--bootstrap-server192.168.88.142:9092--list\^HErrorwhileexecutingtopiccommand:Timedoutwaitingforanodeassignment.Call:listTopics[2022-04-1015:13:13,560]ERRORorg.apache.kafka.common.errors.TimeoutException:Timedoutwaitingforanodeassignment.Call:listTopics(k

c# - 在 C# 构造函数中初始化什么更好 : initializer lists or assignment?

A类使用初始化列表将成员设置为参数值,而B类使用构造函数体内的赋值。只要我始终如一,任何人都可以给出更喜欢其中一个的理由吗?classA{String_filename;A(Stringfilename):_filename(filename){}}classB{String_filename;B(Stringfilename){_filename=filename;}} 最佳答案 第一个在C#中是不合法的。构造函数中冒号后唯一可以出现的两项是base和this。所以我会选择第二个。 关

c# - 在 C# 构造函数中初始化什么更好 : initializer lists or assignment?

A类使用初始化列表将成员设置为参数值,而B类使用构造函数体内的赋值。只要我始终如一,任何人都可以给出更喜欢其中一个的理由吗?classA{String_filename;A(Stringfilename):_filename(filename){}}classB{String_filename;B(Stringfilename){_filename=filename;}} 最佳答案 第一个在C#中是不合法的。构造函数中冒号后唯一可以出现的两项是base和this。所以我会选择第二个。 关