0

我在 c# 中有一些代码,其中有很多代码行,其中控件的 ID 由 string.concat 设置。例如:

private genericControl ctrlGrid;
genericControl = Page.LoadControl(obj);
genericControl.ID = string.concat("gridControl");

使用 string.concat 设置 ID 是否有任何具体原因?会不会有任何与此相关的性能影响?

4

1 回答 1

1

我认为你应该只使用:

genericControl.ID = "gridControl";

编辑:查看string.Concat()传递一个参数时将使用的方法:

public static string Concat(params string[] values)
{
    if (values == null)
    {
        throw new ArgumentNullException("values");
    }
    int totalLength = 0;
    string[] strArray = new string[values.Length];
    for (int i = 0; i < values.Length; i++)
    {
        string str = values[i];
        strArray[i] = (str == null) ? Empty : str;
        totalLength += strArray[i].Length;
        if (totalLength < 0)
        {
            throw new OutOfMemoryException();
        }
    }
    return ConcatArray(strArray, totalLength);
}

所以是的,它有性能开销,最好只使用字符串。

于 2013-07-18T08:58:52.523 回答