从零开始索引

时间:2018-08-19 07:56:48

标签: c#

该程序遇到了麻烦,该程序用于将Unicode字符转换为32位格式。在从零开始的索引部分中。 索引是否需要从零开始?

为什么它不能从数字1开始?请很好地解释这一部分。

int a;
textBox2.Text = " ";
for (int i = 0; i < textBox1.Text.Length; i++)
{
    a = Char.ConvertToUtf32(textBox1.Text.Substring(i, 1), 0);
    textBox2.Text = a.ToString();
    if (textBox1.Text == " ")
    {
        textBox2.Text = " " ;
    }
}

1 个答案:

答案 0 :(得分:0)

字符串类似于数组,对于任何数组类型,c#中的索引均从0开始。至于代码的效率,您也可以将if检查在循环内移动到外部,因为它独立于任何索引。请参见下面的示例代码:

/// <param name="source"> equivalent to TextBox1.Text in original post</param>
public static int[] ConvertToUtf32(string source)
{
    int[] result = new int[source.Length]; //equivalent to all the chars displayed in TextBox2.Text in original post

    if (source.Equals(" "))
    {
        result[0] = ' ';
    }
    else
    {
        for (int i = 0; i < source.Length; i++)
        {
            result[i] = Char.ConvertToUtf32(source.Substring(i, 1), 0);
        }
    }
    return result;
}