Redundant ToString() call¶
ID: cs/useless-tostring-call
Kind: problem
Security severity:
Severity: recommendation
Precision: high
Tags:
- quality
- maintainability
- useless-code
Query suites:
- csharp-security-and-quality.qls
Click to see the query in the CodeQL repository
In certain contexts, such as when concatenating a string and an object, calling ToString explicitly can be omitted.
Recommendation¶
Remove the redundant call to ToString.
Example¶
In the following example, ToString is called explicitly on o, before being passed to string.Format.
using System;
class Bad
{
static string Hello(object o)
{
return string.Format("Hello, {0}!", o.ToString());
}
}
In the revised example, the call to ToString is omitted, as string.Format will invoke ToString implicitly.
using System;
class Good
{
static string Hello(object o)
{
return string.Format("Hello, {0}!", o);
}
}
References¶
MSDN: + Operator, String.Format method.