jjzjj

initialization

全部标签

c# - 只读 HashSet 本身是线程安全的吗?

如果我初始化一个HashSet在Lazy里面初始化程序,然后从不更改内容,是HashSet本质上是线程安全的?是否有需要锁定的读取操作?类似的Java问题here对于一般的集合,这基本上是肯定的,但有一些警告(不适用于这种情况)。 最佳答案 是的,是的。只要施工了HashSet对象是线程安全的,只要内容不变,访问它就始终是线程安全的。如果你initializeLazy使用LazyThreadSafetyMode.PublicationOnly你可以确定Lazy的初始化是线程安全的。Whenmultiplethreadstrytoin

c# - 反序列化后初始化私有(private)只读字段

我需要在反序列化后初始化私有(private)只读字段。我有以下数据契约(Contract):[DataContract]publicclassItem{publicItem(){//ConstructornotcalledatDeserialization//becauseofFormatterServices.GetUninitializedObjectisused//sofieldwillnotbeinitializedbyconstructoratDeserialization_privateReadonlyField=newobject();}//Initialization

C# - 初始化程序中类字段的闭包?

考虑以下代码:usingSystem;namespaceConsoleApplication2{classProgram{staticvoidMain(string[]args){varsquare=newSquare(4);Console.WriteLine(square.Calculate());}}classMathOp{protectedMathOp(Funccalc){_calc=calc;}publicintCalculate(){return_calc();}privateFunc_calc;}classSquare:MathOp{publicSquare(intoper

c# - InitializeComponent() 的非常简单的定义;方法

我一直在阅读HeadFirstC#一书,并使用了InitializeComponent();方法多次。这方面的一个例子是在PartyPlanner练习中我创建了一个名为DinnerParty.cs的类,然后在Form1.cs中使用了这段代码publicForm1(){InitializeComponent();dinnerParty=newDinnerParty(){NumberOfPeople=5};dinnerParty.SetHealthyOption(checkBox2.Checked);dinnerParty.CalculateCostOfDecorations(checkB

c# - 在显式构造函数之外初始化字段是不好的做法吗

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Initializeclassfieldsinconstructororatdeclaration?我们正在争论编码实践。这里的例子有点太简单了,但真正的交易有几个构造函数。为了初始化简单值(例如,将日期设置为最小值),我已将代码从构造函数中移出并移入字段定义中。publicclassConstructorExample{string_string="John";}publicclassConstructorExample2{string_string;publicConstructorExample2(){

c# - 执行非查询 : Connection property has not been initialized.

下午,所以我已经在这个问题上研究了几个小时,但无法真正克服最后一个障碍。下面是我正在编写的这个程序的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;namespaceTest{classProgram{staticvoidMain(){EventLogalog=newEventLog();

c# - 如何初始化二维数组?

我有一个二维数组数组。例如,它是这样的:{{{0,0,1},{1,0,0}}{{0,0,3},{2,1,2},{2,2,1},{3,0,0}}{{0,0,7},{3,2,6},{6,2,3},{6,3,2},{7,0,0}}}但是如果我写int[,][]arrays={{{0,0,1},{1,0,0}}{{0,0,3},{2,1,2},{2,2,1},{3,0,0}}{{0,0,7},{3,2,6},{6,2,3},{6,3,2},{7,0,0}}};编译器会提示“;expected”。如果我写int[,][]arrays={newint[,]{{0,0,1},{1,0,0}}newi

C# 编译器错误 : "cannot have instance field initializers in structs"

我需要有关结构的建议。我有两段代码。第一部分如下:namespaceProject.GlobalVariables{classIOCard{structInputCard{publicstringCardNo;publicintBaseAddress;publicintLowerAddress;publicintUpperAddress;publicint[]WriteBitNo=newint[16];publicint[]ReadBitNo=newint[16];}staticInputCard[]InputCards=newInputCard[5];publicstaticstri

c# - 可以混合对象初始值设定项和集合初始值设定项吗?

我按照此处的说明使用IEnumerable定义了一个集合初始值设定项:http://msdn.microsoft.com/en-us/library/bb384062.aspx现在我可以在我的集合初始值设定项中创建对象,并且它们是通过我的Add()方法添加的,如下所示:classArrangedPanel:RectElement{privateListarrangedChildren=newList();publicintPadding=2;publicvoidAdd(RectElementelement){arrangedChildren.Add(element);//docusto

c# - 在C#中创建二维数组的数组

我只是想创建一个二维数组的数组来存储坐标点。所以我想要一个数组,其中每个索引返回一个二维数组,我将其用作x和y。这是我尝试过的:waypoints=newint[4][,]{{{0},{6,0}},{{1},{1,1}},{{2},{1,5}},{{3},{6,5}}};我意识到这可能看起来很愚蠢,但我已经尝试在Google上查找它,但没有得到任何好的结果。报错:"errorCS0623:Arrayinitializerscanonlybeusedinavariableorfieldinitializer.Tryusinganewexpressioninstead"我也试过这样做:wa