Why does implicit conversion happen from 'char' to 'string' when concatenating?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 1 Dic 2022
Risposto: MathWorks Support Team
il 1 Dic 2022
Concatenating char arrays results in a new char array, as expected:
>> ['a', 'b', 'c']
ans =
'abc'
However, if any element of this array is a string, there is an implicit conversion of all the char arrays to strings, and the behavior is quite different:
>> ['a', "b", 'c']
ans =
1×3 string array
"a" "b" "c"
What is the reason for this?
Risposta accettata
MathWorks Support Team
il 1 Dic 2022
In concatenation operations, the dominant object determines the class of the resulting array, according to the following documentation:
https://www.mathworks.com/help/matlab/matlab_oop/implicit-class-conversion.html#bvo4poc
Therefore, when the array contains both 'char' and 'string', the concatenation results in a 'string' array.
The following documentation includes other related examples to demonstrate this idea:
https://www.mathworks.com/help/matlab/matlab_prog/concatenation-examples.html
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!