加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将字符串编号转换为数字序列 – .Net 2.0

发布时间:2020-12-15 19:35:18 所属栏目:百科 来源:网络整理
导读:给出一个字符串 string result = "01234" 我想从字符串中获取单独的整数0,1,2,3,4. 怎么做? 1 以下代码给出了ascii值 Listint ints = new Listint(); foreach (char c in result.ToCharArray()) { ints.Add(Convert.ToInt32(c)); } 解决方法 编辑:我没有发
给出一个字符串

string result = "01234"

我想从字符串中获取单独的整数0,1,2,3,4.

怎么做?

1

以下代码给出了ascii值

List<int> ints = new List<int>();

    foreach (char c in result.ToCharArray())
    {
        ints.Add(Convert.ToInt32(c));
    }

解决方法

编辑:我没有发现“.NET 2.0”的要求.如果你要做很多这类事情,可能值得使用 LINQBridge,看看后面的一点 – 特别是如果你可以使用C#3.0同时仍然针对2.0.除此以外:

List<int> integers = new List<int>(text.Length);
foreach (char c in text)
{
    integers.Add(c - '0');
}

不是很整洁,但它会起作用.或者:

List<char> chars = new List<char>(text);
List<int> integers = chars.ConvertAll(delegate(char c) { return c - '0'; });

或者,如果你对阵列感到满意:

char[] chars = text.ToCharArray();
int[] integers = Arrays.ConvertAll<char,int>(chars,delegate(char c) { return c - '0'; });

原始答案

其他一些人建议使用ToCharArray.您不需要这样做 – 字符串已经实现了IEnumerable< char>,因此您已经可以将其视为一系列字符.然后,您只需将每个字符数字转换为整数表示;最简单的方法是减去字符’0’的Unicode值:

IEnumerable<int> digits = text.Select(x => x - '0');

如果你想在List< int>中使用它相反,只是做:

List<int> digits = text.Select(x => x - '0').ToList();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读