将字符串转换为Int数组。

时间:2015-03-05 20:16:24

标签: arrays string int

我一直在努力将字母的字符串参数转换为除main方法之外的方法中的int数组。然后返回数组的int。例如:

我希望将字母转换为一个int数组,其字母对应的数字。例如:

输入字符串:ABCDEFGHIJKLMNOPQRSTUVWXYZ 输出数组:[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .....]

我的想法是构建一个索引为25的int数组,并用for循环填充它,但我不知道如何从那里开始,或者如果这是解决这个问题的正确方法。

任何帮助表示赞赏!谢谢!

3 个答案:

答案 0 :(得分:0)

在C#中你会做这样的事情:

 public int[] ConvertStringToIntArray(string letters)
    {
        List<int> numbers = new List<int>();

        foreach (var letter in letters.ToCharArray())
        {
            numbers.Add((letter - 'A'));
        }

        return numbers.ToArray();
    }

如果您希望它处理相同的大写和小写字母,'a'== 0和'A'== 0,只需将foreach行改为letters.ToUpper().ToCharArray(),如下所示:

 public int[] ConvertStringToIntArray(string letters)
    {
        List<int> numbers = new List<int>();

        foreach (var letter in letters.ToUpper().ToCharArray())
        {
            numbers.Add((letter - 'A'));
        }

        return numbers.ToArray();
    }

答案 1 :(得分:0)

我会遍历数组中的每个字符并将其传递给方法以获取整数值。类似于以下方法的方法应该用于返回您要查找的小写和大写字母数字字符的int值:

public int GetIntValue(char alphanumericChar)
{
    return (int)alphanumericChar % 32 - 1;
}

答案 2 :(得分:0)

您应该知道的一件事是字符已经有相应的十进制值。你所要做的就是转换它们。例如,在C#中:

        char s = 'a';            
        int i = Convert.ToInt32(s);
        Console.Write(i);
        //Output: 97

这是一个有用的参考:http://www.asciitable.com/