首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

新手请问:字符串,转换后,怎么相加

2012-08-03 
新手请教:字符串,转换后,如何相加字符串string str 164238752901402逐个判断每个字符,如果是“大于4”的

新手请教:字符串,转换后,如何相加
字符串

string str = "164238752901402"

逐个判断每个字符,如果是“大于4”的就相加

答案是:6+8+7+5+9 = 35


这个该如何写呢?

[解决办法]

C# code
var dictionary = "56789".ToDictionary(c => c, c => c - (char)'0');            decimal sum = "164238752901402".Sum(c =>                                                         {                                                             int v;                                                             int i = dictionary.TryGetValue(c, out v) ? v : 0;                                                             return i;                                                         });
[解决办法]
string str = "164238752901402";

int result = str.Select(x => x - '0').Where(x => x > 4).Sum();

热点排行