语言= C#
软体= Visual Studio 2015

在编写程序以查找给定字符串中的整数和时,我遇到了问题。
从字符串中获取每个字符时,我得到的是87'W',101'e'而不是'w''e'之类的值。 (也显示char的各个整数,这不是必需的)

程序:

public static void Main()
{
     string s = "Welcome to 2018";
     int sumofInt = 0;
       for (int i = 0; i < s.Length; i++)
       {
           if (Char.IsDigit(s[i]))
           {
               sumofInt += Convert.ToInt32(s[i]);
           }
       }
    Console.WriteLine(sumofInt);

}


预期o / p = 11
实际o / p = 203

这里的s[i]值例如是50'2'

有什么方法可以避免这种以字符表示的数字表示形式(50、87等)? ?? (不修剪)

最佳答案

试试这个:-您将以整数形式获取char的ASCII表示形式

public static void Main()
{
     string s = "Welcome to 2018";
     int sumofInt = 0;
       for (int i = 0; i < s.Length; i++)
       {
           int val = (int)Char.GetNumericValue(s[i]);
           if (Char.IsDigit(val))
           {
               sumofInt += Convert.ToInt32(val);
           }
       }
    Console.WriteLine(sumofInt);

}

10-06 09:44