如何在Delphi代码源中拆分多行中的长字符串?

时间:2018-03-18 07:47:21

标签: delphi

在delphi中,在代码源中,有时你需要写一个很长的字符串,很难保持在单行上,如

'SELECT Email FROM Employee where NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}’, ‘i’);'

但在代码源中,为了使其更具可读性,您必须将其拆分为多行,如

'SELECT '+
  'Email '+
'FROM '+
  'Employee '+
'where '
  'NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}’, ‘i’);' 

但这样做(据我所知)将涉及在运行时连接字符串,编译器还将在内部创建几个临时字符串来处理这些连接

那么代码源中如何有效地在delphi下的多行上拆分长字符串而不影响性能?

1 个答案:

答案 0 :(得分:5)

第二块代码没有性能问题。编译器在编译时执行串联。您问题中的两个表达式被视为相同。这两个都是constant expressions