In the first approach you're removing the spaces before and behind the string, then you're reassinging the new string to the same variable.
In the second approach you're creating a new variable for the new string.
There is no "best" way, if you need to retain the old string you need to use two variables.
However, this line is redundant:
string strTrimmedname = string.empty;
You could give it the correct value in the first place:
string strTrimmedname = strName.Trim();
Updated question
NO need of original value , i need only trimmed string.
Then it's a matter of taste which way should be preferred. Use whatever you find more readable. The first is not introducing a new variable which can help to prevent careless mistakes. The second might be more readable because of the more meaningful variable name.
So if possible i would use option 3: string strTrimmedname =" Avinash ".Trim();