{{fbdoc item="title" value="Operator + (String concatenation)"}}----
Concatenates two strings

{{fbdoc item="syntax"}}##
	[[KeyPgDeclare declare]] [[KeyPgOperator operator]] **+** ( [[KeyPgByref byref]] //lhs// [[KeyPgAs as]] [[KeyPgString string]], [[KeyPgByref byref]] //rhs// [[KeyPgAs as]] [[KeyPgString string]] ) [[KeyPgAs as]] [[KeyPgString string]]
	[[KeyPgDeclare declare]] [[KeyPgOperator operator]] **+** ( [[KeyPgByref byref]] //lhs// [[KeyPgAs as]] [[KeyPgZstring zstring]], [[KeyPgByref byref]] //rhs// [[KeyPgAs as]] [[KeyPgZstring zstring]] ) [[KeyPgAs as]] [[KeyPgZstring zstring]]
	[[KeyPgDeclare declare]] [[KeyPgOperator operator]] **+** ( [[KeyPgByref byref]] //lhs// [[KeyPgAs as]] [[KeyPgWstring wstring]], [[KeyPgByref byref]] //rhs// [[KeyPgAs as]] [[KeyPgWstring wstring]] ) [[KeyPgAs as]] [[KeyPgWstring wstring]]
##
{{fbdoc item="usage"}}##
	//result// = //lhs// **+** //rhs//
##
{{fbdoc item="param"}}
	##//lhs//##
		The left-hand side string to concatenate.
	##//rhs//##
		The right-hand side string to concatenate.

{{fbdoc item="desc"}}
	This operator concatenates two strings.  Unlike [[KeyPgOpConcatConvert Operator & (String concatenation with conversion)]] both expressions //must// be strings, and may not be converted (in fact, any attempt to concatenate a string with a non-string or two non-strings will result in a type mismatch error, with the exception of when operator overloading is used in a UDT).

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/operator/concat_nocvt.bas"}}%%(freebasic)
Dim As String a = "Hello, ", b = "World!"
Dim As String c
c = a + b
Print c
%%
Output:
%%
Hello, World!
%%

{{fbdoc item="diff"}}
	- None

{{fbdoc item="see"}}
	- [[KeyPgOpAdd Operator + (Add)]]
	- [[KeyPgOpConcatConvert Operator & (String concatenation with conversion)]]
	- ##[[KeyPgStr Str]]##

{{fbdoc item="back" value="CatPgOpString|String Operators"}}{{fbdoc item="back" value="CatPgOperators|Operators"}}