带索引转换或数字数组的字符串

时间:2018-12-08 11:51:35

标签: c#

为什么我不能将此字符串转换为数字?或如何从此字符串组成数字数组。

using UnityEngine;

public class CameraController : MonoBehaviour {

    public GameObject player;
    private Vector3 offset;

    // Use this for initialization
    void Start()
    {
        offset = transform.position - player.transform.position;
    }

    // Update is called once per frame
    void LateUpdate()
    {
        transform.position = player.transform.position + offset;
    }
}

3 个答案:

答案 0 :(得分:1)

str是一个字符串,因此str[0]返回一个char,而Parse方法不使用char作为输入,而是使用一个string

如果要将字符串转换为int,则需要执行以下操作:

int c = Int32.Parse(str); // or Int32.Parse(str[0].ToString()); for a single digit

或者您可能正在寻找一种将所有单个数字转换为数组的方法,该方法可以通过以下方式完成:

var result = str.Select(x => int.Parse(x.ToString()))
                .ToArray();

答案 1 :(得分:0)

Int32.Parse接受string的{​​{1}}参数,而不接受char的参数。

要获取第一个电话号码,请尝试:

str[0]

答案 2 :(得分:0)

我假设您正在尝试将二进制字符串转换为其十进制表示形式。

为此,您可以使用$(document).on('click', 'input[name="submit"]', function(event) {

System.Convert

对于要对字符串中的所有1和0求和的情况,可以使用int c = Convert.ToInt32(str, 2); 的{​​{1}}和System.Linq

Select()

或者,如果您只想从字符串中获得1和0组成的数组,则可以省略Sum(),而使用int c = str.Select(i => int.Parse(i.ToString())).Sum(); 枚举为数组:

Sum()

免责声明:如果ToArray()包含非数字字符,则上面使用int[] c = str.Select(i => int.Parse(i.ToString())).ToArray(); 的两个摘要将引发异常。