将字符串转换为整数并通过加法获得总值

turning strings to ints and getting the total value by addition

我有一个 for 循环,它遍历 UI.text 个元素的数组(总共 6 个),并通过将此数字转换为字符串来为每个元素随机分配一个数字。我正在尝试 - 无论是在转换之前还是转换之后 - 将这 6 个数字加在一起时的总值。即 6+1+2+3+4+1 = 17。下面的代码是错误的,因为它在控制台中产生了一个“0”——我注意到它在右侧给出了一个总对象值,它总是等于正确的总和,但这似乎没有用。 有更简单的方法吗?

    for(int i = 0; i < blueHex1CardNumbers.Length; i++)
    {
        int j = Random.Range(1, 6);
        string myString = j.ToString();

        blueHex1CardNumbers[i].text = myString;


        int numbers = System.Int32.Parse(blueHex1CardNumbers[i].text);
        int[] total = new int[numbers]; //This is where i think the problem lies
        for(int l = 0; l < total.Length; l++)
        {
            int final = total.Sum ();
            Debug.Log(final);
        }
    }

只需执行:

// Add this up here
int totals = 0;

for(int i = 0; i < blueHex1CardNumbers.Length; i++)
{
    int j = Random.Range(1, 6);
    // increment it as you go
    totals += j;

    string myString = j.ToString();
    blueHex1CardNumbers[i] = myString;
}

// use your totals here
var random = new Random();
var ints = Enumerable.Repeat(0, blueHex1CardNumbers.Length)
                     .Select(_ => random.Next(1, 6))
                     .ToArray(); // six random ints
var strings = ints.Select(n => n.ToString());
var total = ints.Sum();
var i = 0;
foreach (var s in strings)
    blueHex1CardNumbers[i++].Text = s;