In my literals, string.Intern literals, so there are no duplicates and there are no additional allocations for use. I do not think that by default resource strings behave the same.
If this is a concern, you can have your own code for reading and interning strings from resources and checking if this is beneficial for your business.
Side note: constant lines and lines from a resource are usually used for a variety of purposes (one static invariant value of the culture, the other is localized and it is expected that it will be different for different cultures). There must be very good reasons for wrapping localized strings into constants in your code.
source share