To gain weight you need to eat more calories than your body burns.
Here’s the truth: you can eat everything you want without gaining weight because you don’t eat a lot. I know you think you do, but you don’t – otherwise you wouldn’t be skinny. Eat More Protein. Don’t make the mistake of avoiding carbs and/or fats because you’re afraid of gaining fat. Carbs and fats have more calories than proteins. If you avoid them, you’re making it harder and more expensive to gain weight. Most people can’t gain muscle and weight without gaining some fat anyway.
Here are the best to gain weight: nuts, dried fruits, dairy (whole milk, full-fat yogurt, cottage cheese), grains (pasta, rice, oats, bread, sandwiches), potatoes, fats (olive oil, coconut, avocado), meat (chicken, beef, fatty fish)