To some, gaining weight can be very difficult. As with losing weight, gaining weight can be achieved by adhering to a simple equation: to gain weight you need to eat more calories than you burn. While you have to get your calories up, this shouldn't be thought of as a prescription to eat anything you see.
Gaining weight is more than eating everything in sight. Assuming your goal is to gain lean boy mass (muscle), then eating everything regardless of its nutritional content isn't the best idea. You need a combination of protein, carbohydrates and even fat to gain weight so going on a high protein, low everything else diet won't give you the best results either.
Carbs + Protein
Carbohydrates and protein are the two most important macronutrients for gaining weight. Carbohydrates give your body its main source of fuel and protein helps build and repair muscle tissue after a workout. The current recommendation of protein (set by the government) is 0.8 grams per kilogram of body weight. Carbohydrates should account for 50% of your total calorie intake and no more than 30% should come from fat.
Calculating your calorie intake is a delicate process. If you eat too much, you'll gain a lot of body fat and if you don't eat enough you won't gain any weight and might even lose some. Start by using the Calorie Calculator. Based on your age, body and activity level, you'll get an estimate of how many calories you burn per day.
To gain 1 pound per week you need to have a calorie surplus of 500 calories per day. For 2 pounds a week, you'll need a surplus of 1000 calories per day. Note that not all this weight will be muscle. Putting on 1-2 pounds of muscle per week is impossible without the help of banned substances and even then can be a difficult process.
Tweaking your calorie intake is important. If you see that you aren't gaining any weight you need to eat more. If you see that you are gaining too much fat cut back on the calories.
Be careful what kind of calories you add to your diet. While it may seem easy to load up on candy, soda and fast food, these are quickly digested and are likely to turn into body fat if they aren't burned off right away. Instead, eat foods that are high in fiber such as whole wheat breads and fruit. These will give you a steady supply of energy throughout the day.
For protein, stay focused on lean sources of meat such as chicken, turkey, egg whites, fish and low fat beef and dairy. If you prefer to stay away from meat products try soy protein which can be found in many soy products (milk, cheese, nuts, meat substitutes).
The Bottom Line
The most important step in gaining weight is eating. You have to consistently take in more calories than you burn or the weight won't come on. If you aren't gaining any weight the problem is that you aren't eating enough.