I am reading the .NET IL Assembler book. There is a quote of the book:
`ldstr` "Enter a number"
is an instruction that creates a string object from the specified string constant and loads a reference to this object onto the stack. The string constant in this case is stored in the metadata. You can refer to such strings as common language runtime string constants or metadata string constants. You can store and handle the string constants in another way, as explained in a few moments, butldstr
deals exclusively with common language runtime string constants, which are always stored in Unicode (UTF-16) format.
I see author writes that it is possible to refer to the string
either as common language runtime string constant or as metadata string constant. While I do not understand the difference between these options, but my question is about something else...
Also, author writes twice about the using of the string by the ldstr
instruction and everytime it is other (I selected it by the bold font).
So which type of the constant does the team use? Is it common language runtime string constant? Or is it metadata string constants?