For a resume, it is an instant throw-away when someone rates themself as "average" in a skill. It would be better just to list the skill and let your description of your experience imply the skill level and years of experience. A resume is a sales brochure for you. It is intended to help distinguish you from the competition.
If you're thinking that a reviewer would appreciate your modesty or honesty and think better of you for it, it doesn't really work that way. The interviewers have means to determine your skill level. But if you never get the chance to talk with them, it won't matter.
Listing a skill level has two possible effects, both bad. Either you will say you're the greatest ever, which nobody believes, so it's meaningless. Or, you will say you're average, or worse, and you will be disregarded immediately.
Don't lie on your resume, but don't limit yourself, either. Remember, the purpose of the resume is to secure an interview, where you can really show what you're made of.
Consider the following (obviously fictitious) comparison:
Skill Expertise Years
C# average 3
.NET average 3
Perl average 2
Linux average 2
Software Developer, XYZ Company, 2013-2016
Developed a cure for toenail cancer using C#, .NET, and in collaboration with researchers from seven different countries.
Software Developer, ABC Company, 2011-2013
Worked on establishing world peace by resolving a conflict in Antartica using Perl and Linux.
The more compelling content is the one that describes your work and the skills (tools) you used to accomplish it. It's what will capture the interest of a person reviewing resumes.
You can obviously include both sections in your resume, but the bland skills list, with a self-assessment of skill level, adds no value to the resume, and just takes up space that you could use more effectively. Skillful use of whitespace would be more valuable in your personal sales brochure than such a list.