delphi - 可以在一行中初始化某种类型的多个变量吗?

标签 delphi variables initialization

我一直在尝试编写尽可能少的代码。 所以,我使用:

MyBoolean := Memo1.Text <> '';

而不是

if Memo1.Text = '' then
  MyBoolean := true
else
  MyBoolean := false;

声明并初始化

var
  myGlobal: integer = 99;

声明并初始化全局变量。我想对局部变量做同样的事情,但似乎不可能,所以,我想知道是否有一种方法可以在一行中初始化某种类型的多个变量,就像在 C 中一样

int x, y, z;
x=y=z=0;

谢谢。

最佳答案

在 C 中,赋值是一个表达式(返回一个值)。

在 Pascal 中,赋值是一个语句(不返回值)。

这种差异会带来一些有趣的后果。例如,在 C 中,两者

while (x=0)

while (x==0)

在 Pascal 中是语法上有效的结构(这是无数错误的根源)

while (x:=0)

在语法上无效,因为 x:=0 是一个语句

关于delphi - 可以在一行中初始化某种类型的多个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23321901/

相关文章:

delphi - 如何停止Screen.Cursor影响窗体上的所有控件?

c++对函数执行操作并声明函数

C 错误 : C2040: 'customerPtr' : 'int' differs in levels of indirection from 'customer *'

c++ - 在构造函数中分配给常量变量?

javascript - dojo amd init 方法自动运行

sql-server - SQL Server 2005 上的列长度更改

Delphi 7 DCC32 如何指定.exe名称?

delphi - 是否可以在 Delphi 中添加 "assert"作为关键字?

c# - 为什么在 C# 中将方法分配给变量?

python - PyCharm 警告局部变量可能被引用