c# - String 的 char 值改为 Int

标签 c# arrays linq

我正在处理一个与字符串相关的问题,其中也存在很少的数字。我的工作是迭代所有字符,识别这些数字并执行算术运算。最后返回修改后的字符串。但对于此操作,所有字符都更改为 Int。

谢谢

string str="Please Change 2015";
string str2=String.Join("", str.Select(x=> (x >= '0' && x <= '9') ?'9'-x: x).ToList()); 

Given Output: 8010810197115101326710497110103101327984
Required Output: Please Change 7984

最佳答案

或者只是

string str = "Please Change 2015";
string str2 = String.Join("", str.Select(x => char.IsDigit(x) ? (char)(9-(x-'0')+'0') : x).ToList());

输出

Please Change 7984

解释

-'0' // convert it from char to a number 
+'0' // convert it back to a char 
(char) // make sure we output characters again

关于c# - String 的 char 值改为 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52232188/

相关文章:

java - 将方法调用放入 ArrayList?

sql-server - 我必须在 LINQ 中进行什么样的查询才能获取包含对象列表的自定义列表?

c# - Commandlet 与控制台应用程序

c# - 监控进程对每个 CPU 核心的使用情况

c++ - 派生类的一些问题

c - 与 C 函数参数中的 char 数组大小相比,传递更大的 char 数组

c# - Usinq Linq 选择以半逗号分隔的字符串中的项目?

c# - 在单个 View 模型上使用 LINQ to "transform"两个模型

c# - 如何使用数据触发器设置 WPF 行为属性

c# - 在某些计算机上使用虚拟化路径的临时目录