比较字符串和int时,将它们转换为字符串与将它们转换为int之间的区别是什么?

Cur*_*tis 4 c#

在进行以下比较之间有什么区别(在正确性和性能方面).

int a = 100;
string b = "100";

if (a == Convert.ToInt16(b))
    //Do something

if (a.ToString() == b)
    //Do Something
Run Code Online (Sandbox Code Playgroud)

如果我有一个始终为int的字符串值(比如在网页上的隐藏字段中存储int),我总是将这两个值作为整数进行比较,因为这是数据所代表的,但我想要一个更技术性的原因.

Fré*_*idi 5

比较字符串在某种程度上适用于平等和不平等,但不适用于其他比较.

例如,a < Convert.ToInt16(b)与...不是一回事a.ToString() < b.

仅仅因为这个原因,我个人总是喜欢比较数字而不是字符串.