Well, I'll say this much. If you have a lot of negative thoughts and feelings about yourself DON'T express them around other people who do not need to know (unless you're talking to a therapist, don't be negative around other people). People who might otherwise find you to be attractive and appealing will be scared off if they think you're a very negative person. And worse, you might attract abusive people who are looking to take advantage of people with low self-esteem. Which will make it more of a cycle. Your negative thoughts will become self-fulfilling prophecies.
You don't want to seem haughty but you don't want to seem too vulnerable either. Most people will not understand. If you're thinking that expressing your negative feelings and emotions will help other people understand you better and identify with you, almost the exact opposite will happen. People will jump to conclusions and see you as whatever you have told them you are. Your good points will not be seen by people who only know and remember the bad. Make an effort to present yourself in a way that they will remember good things about you.
Here is the most simple and most basic way to think of it that might help you with confidence.
When it comes to other people and the way they see you and the way they think of you, all they know about you is what they can see and what you have told them. If you feel sad, angry, scared, ugly, boring or whatever it is, YOU are the only one who knows what your own personal doubts and fears are. UNLESS you say something, other people don't know. They don't need to know.
If you are quiet, other people very well might think you are shy or lack self-confidence or are boring but it will just be a guessing game with a zillion possible answers. Most people don't have time to sit around burning brainpower trying to guess what other people have going on in their heads. You can shape your own image simply by controlling what other people know about you.