Tag: with statement

VB.NET与'声明 – 拥抱还是避免?

在工作中,我经常在一些项目中进行项目,在项目中必须在施工期间或者在生命早期设置特定物体的许多属性。 为了方便和易读,我经常使用With语句来设置这些属性。 我发现 With Me.Elements .PropertyA = True .PropertyB = "Inactive" ' And so on for several more lines End With 看起来好多了 Me.Elements.PropertyA = True Me.Elements.PropertyB = "Inactive" ' And so on for several more lines 非常长的陈述,简单地设置属性。 我注意到在debugging时使用With有一些问题; 然而, 我想知道是否有任何令人信服的理由,以避免使用在实践中 ? 我总是认为通过编译器生成的代码基本上是相同的,这就是为什么我总是select写我觉得更可读。

python:在几个上下文pipe理器上创build一个“with”块

假设您有三个通过上下文pipe理器获取的对象,例如A锁,一个数据库连接和一个IP套接字。 你可以通过以下方式获得 with lock: with db_con: with socket: #do stuff 但有一种方法可以在一个区块内完成吗? 就像是 with lock,db_con,socket: #do stuff 而且,有可能的话,给定一组具有上下文pipe理器的未知长度的对象,有可能以某种方式进行: a=[lock1, lock2, lock3, db_con1, socket, db_con2] with a as res: #now all objects in array are acquired 如果答案是“否”,是不是因为需要这样的function意味着devise不好,或者我应该提出一个build议呢? 😛

为什么我不应该在Delphi中使用“with”?

我听说过很多程序员,尤其是Delphi程序员不屑于使用'with'。 我认为它使程序运行得更快(只有一个对父对象的引用),并且如果明智地使用(less于十几行代码并且不嵌套),则更容易阅读代码。 这是一个例子: procedure TBitmap32.FillRectS(const ARect: TRect; Value: TColor32); begin with ARect do FillRectS(Left, Top, Right, Bottom, Value); end; 我喜欢用。 我怎么了?

语句中Python中的多个variables

是否有可能在Python中使用with语句声明多个variables? 就像是: from __future__ import with_statement with open("out.txt","wt"), open("in.txt") as file_out, file_in: for line in file_in: file_out.write(line) …或者是同时清理两个资源的问题?

delphi“与”关键字是一个不好的做法?

我一直在阅读有关delphi的关键字坏的事情,但在我看来,如果你不过度使用它。 它可以使你的代码看起来简单。 我经常把所有的TClientDataSets和TFields放在TDataModules中。 所以在我的表单中我有这样的代码 procedure TMyForm.AddButtonClick(Sender: TObject); begin with LongNameDataModule do begin LongNameTable1.Insert; LongNameTable1_Field1.Value := "some value"; LongNameTable1_Field2.Value := LongNameTable2_LongNameField1.Value; LongNameTable1_Field3.Value := LongNameTable3_LongNameField1.Value; LongNameTable1_Field4.Value := LongNameTable4_LongNameField1.Value; LongNameTable1.Post; end end; 没有with关键字我必须写这样的代码 procedure TMyForm.AddButtonClick(Sender: TObject); begin LongNameDataModule.LongNameTable1.Insert; LongNameDataModule.LongNameTable1_LongNameField1.Value := "some value"; LongNameDataModule.LongNameTable1_LongNameField2.Value := LongNameDataModule.LongNameTable2_LongNameField1.Value; LongNameDataModule.LongNameTable1_LongNameField3.Value := LongNameDataModule.LongNameTable3_LongNameField1.Value; LongNameDataModule.LongNameTable1_LongNameField4.Value := LongNameDataModule.LongNameTable4_LongNameField1.Value; LongNameDataModule.LongNameTable1.Post; end; 我认为使用with关键字更容易阅读。 我应该避免使用with关键字吗?

计算另一个工作表中的行数

我已经看了build议的问题find我的问题的答案。 最接近的问题叫做:统计另一个Excel工作表中不同的Excel Sheet Sheet中的行数 解决这个问题不适合我。 我正在计算不同工作表中的活动工作表的范围内的行数。 这是我的代码: Sub verbflashcards() Dim wordcount As Long With Worksheets("Verbs") wordcount = .Range(Cells(4, 1), Cells(4, 1).End(xlDown)).Rows.Count End With MsgBox (wordcount) End Sub 我有一个名为Verbs的工作表,它是工作簿中的第二个工作表。 我努力了: With Verbs With Sheet2 With Sheets("Verbs") With Sheets("Sheet2") 他们似乎没有任何工作。